无服务器:使用来自 S3 的代码部署 lambda
serverless: deploy lambda with code from S3
我将 aws codebuild 连接到我的 git 存储库,使我的 lambda 函数代码在每次合并时保持最新,我想使用无服务器自动刷新我的 lambda 中的代码。
现在我使用无服务器来创建我的 DB 和 S3 存储桶,但我希望能够部署我的 lambda 并将函数代码归因于 S3 存储桶中的特定 zip 文件——是这个吗可能的?如果是这样,lambda 的无服务器 yml 会是什么样子?
干杯,
-E
serverless.yml 看起来像这样:
service: my-service
plugins:
- serverless-offline
- any-other-plugin
provider:
name: aws
runtime: nodejs8.10
region: eu-west-1
memorySize: 128 # optional, in MB, default is 1024
timeout: 120 # optional, in seconds, default is 6
deploymentBucket:
name: YOUR_BUCKET_NAME
iamRoleStatements:
- Effect: "Allow"
Action:
- "dynamodb:Query"
- "another:action"
Resource: resource_name
environment:
VAR1: VALUE1
VAR2: VALUE2
VAR3: VALUE3
functions:
lambda-function-name:
handler: filename.function
timeout: 900
我将 aws codebuild 连接到我的 git 存储库,使我的 lambda 函数代码在每次合并时保持最新,我想使用无服务器自动刷新我的 lambda 中的代码。
现在我使用无服务器来创建我的 DB 和 S3 存储桶,但我希望能够部署我的 lambda 并将函数代码归因于 S3 存储桶中的特定 zip 文件——是这个吗可能的?如果是这样,lambda 的无服务器 yml 会是什么样子?
干杯, -E
serverless.yml 看起来像这样:
service: my-service
plugins:
- serverless-offline
- any-other-plugin
provider:
name: aws
runtime: nodejs8.10
region: eu-west-1
memorySize: 128 # optional, in MB, default is 1024
timeout: 120 # optional, in seconds, default is 6
deploymentBucket:
name: YOUR_BUCKET_NAME
iamRoleStatements:
- Effect: "Allow"
Action:
- "dynamodb:Query"
- "another:action"
Resource: resource_name
environment:
VAR1: VALUE1
VAR2: VALUE2
VAR3: VALUE3
functions:
lambda-function-name:
handler: filename.function
timeout: 900