【问题标题】:Both SAM and cdk can make stack, SAM include cdk ? or cdk include SAM?SAM 和 cdk 都可以做堆栈,SAM 包括 cdk ?或 cdk 包括 SAM?
【发布时间】:2022-01-27 23:54:22
【问题描述】:

我想在S3 中创建两个bucket(x,y) 并创建一个lambda

我的目标是将文件上传到S3(x) 并触发lambda 然后lambda 创建文件并将其放入S3(y)

目前,我正在SAM上开发lambda函数。

通过SAM部署lambda函数

我通过cdk 制作了两个 S3 存储桶。

然后手动添加triggerIam policylambda访问S3

但是我想自动完成这一切。

所以我的想法是,

  1. SAM 可以将两个S3 存储桶作为堆栈,我不再需要 cdk 了吗?

  2. cdk可以包含SAM开发环境吗?

  3. 还有什么办法吗??

为此目的的最佳做法是什么?

【问题讨论】:

标签: amazon-web-services amazon-s3 aws-cdk aws-sam


【解决方案1】:

我的`解决方案是

  • 使用 SAM 进行本地开发

  • AWS 部署仅由cdk 执行,SAM 对部署不起作用。

我的文件夹结构如下

cdk / bin
      lib 
      cdk.json
      etc
      samproj/helloworld/app.py
             /samconfig.toml
             /template.yaml
             /etc

对于本地开发,在samproj 目录中,做这样的事情,tutorial

sam local invoke "HelloWorldFunction" -e events/event.json

对于AWS 部署cdk 项目。

只需直接从 Stack 中的 samproj/helloworld 目录创建 lambda

export class CdkVrBaseStack extends Stack {
    const lambda_ = new lambda.Function(this, 'TestLambda', {
      functionName: 'testLambda',
      runtime: lambda.Runtime.PYTHON_3_9,
      code: lambda.Code.fromAsset('samproj/helloworld'),
      handler: 'index.handler',
      timeout: cdk.Duration.seconds(300),




 

【讨论】:

    猜你喜欢
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    • 2020-12-04
    • 2022-11-04
    • 2020-08-12
    • 2021-02-18
    相关资源
    最近更新 更多