Amazon s3 尝试在无服务器框架中为AWS Lambda函数创建多个s3存储桶时,Yaml文件出错
所以我对CloudFormation和无服务器框架都是新手。我一直在尝试通过一些练习(比如自动缩略图生成器),然后创建一些简单的项目,希望能为我自己的目的进行推广 现在,我正在尝试创建一个堆栈/函数,该堆栈/函数创建两个S3存储桶,并使Lambda函数从一个CSV文件中获取一个CSV文件,执行一些简单的转换,然后将其放在另一个接收存储桶中 在尝试构建我所做的练习时,我使用以下代码创建了一个Yaml文件:Amazon s3 尝试在无服务器框架中为AWS Lambda函数创建多个s3存储桶时,Yaml文件出错,amazon-s3,aws-lambda,yaml,amazon-cloudformation,serverless-framework,Amazon S3,Aws Lambda,Yaml,Amazon Cloudformation,Serverless Framework,所以我对CloudFormation和无服务器框架都是新手。我一直在尝试通过一些练习(比如自动缩略图生成器),然后创建一些简单的项目,希望能为我自己的目的进行推广 现在,我正在尝试创建一个堆栈/函数,该堆栈/函数创建两个S3存储桶,并使Lambda函数从一个CSV文件中获取一个CSV文件,执行一些简单的转换,然后将其放在另一个接收存储桶中 在尝试构建我所做的练习时,我使用以下代码创建了一个Yaml文件: provider: name: aws runtime: python3.8 r
provider:
name: aws
runtime: python3.8
region: us-east-1
profile: serverless-admin
timeout: 10
memorySize: 128
iamRoleStatements:
- Effect: "Allow"
Action:
- "s3:*"
Resource: "*"
custom:
assets:
targets:
- bucket1: csvbucket1-08-16-2020
pythonRequirements:
dockerizePip: true
- bucket2: csvbucket2-08-16-2020
pythonRequirements:
dockerizePip: true
functions:
protomodel-readcsv:
handler: handler.readindata
events:
s3:
- bucket: ${self:custom.bucket1}
event: s3:ObjectCreated:*
suffix: .csv
- bucket: ${self:custom.bucket2}
plugins:
- serverless-python-requirements
- serverless-s3-deploy
但是,当我从命令提示符执行无服务器部署时,我会得到:
Serverless Warning --------------------------------------
A valid service attribute to satisfy the declaration 'self:custom.bucket1' could not be found.
Serverless Warning --------------------------------------
A valid service attribute to satisfy the declaration 'self:custom.bucket2' could not be found.
Serverless Error ---------------------------------------
Events for "protomodel-readcsv" must be an array, not an object
我试图通过添加-使protohandler中的events对象成为readcsv:但由于某种原因,我得到了一个错误的缩进错误,无法协调。但是,更根本的是,我不确定为什么该项无论如何都需要一个数组,而且我也不清楚桶的警告
关于这个问题,我很抱歉问了一个新手,但是在线运行教程/示例在尝试概括/自定义这些示例时,还有很多问题需要解决。custom:
资产:
目标:
-巴克特1
我想您需要self:custom.assets.targets.bucket1
,不确定这个嵌套的资产是否可以工作
请检查下面的示例是否有效
service:MyService
自定义:
部署桶:s3_我的_桶
供应商:
名称:aws
deploymentBucket:${self:custom.deploymentBucket}
阶段:发展
Ok,那么我需要在provider部分添加bucket引用吗?然后添加多个bucket,我把它作为一个数组?我用缩略图重新调整大小的例子没有这个。