$ tree
.
└── common
├── layer
│ └── python
│ └── util.py
└── serverless.yml
serverless.yml
service: sample-layer
provider:
name: aws
layers:
samplelayer:
path: layer
util.py
def hello():
print('Hello, Lambda Layers World!')
serverless.yml
service: sample-function
provider:
name: aws
runtime: python3.7
iamRoleStatements:
- Effect: "Allow"
Action:
- "lambda:InvokeFunction"
Resource: "*"
functions:
samplefunction:
handler: handler.handle_request
layers:
- {上記のLayerをsls deployした時に表示されるarn}
handler.py
import util def handler_request(event, context): util.hello()
Layerはデプロイされる度にバージョンが上がる
LayersのARNを確認
$ aws lambda list-layer-versions –layer-name sample-layer –query “LayerVersions[*].LayerVersionArn”
$ aws lambda update-function-configuration –function-name testFunction3 –layers “LayersのARN”
なるほど、なんとなく仕組みと概念は理解した