【问题标题】:Cloudformation Trigger Event for Existing bucket现有存储桶的 Cloudformation 触发事件
【发布时间】:2018-10-21 00:07:13
【问题描述】:

我正在尝试编写一个 cloudformation 模板,该模板涉及将事件添加到存储桶以触发 lambda 函数。

我知道我可以使用如下代码同时创建一个存储桶和一个事件,但是我的存储桶已经存在,我不想要另一个存储桶,所以有没有办法为现有存储桶创建一个事件在云层内?

"EncryptionServiceBucket" : {
  "Type" : "AWS::S3::Bucket",
  "Properties" : {
    "BucketName" : { "Fn::Sub" : "${User}-encryption-service" },
    "NotificationConfiguration" : {
      "LambdaConfigurations" : [{
        "Function" : { "Ref" : "LambdaDeploymentArn" },
        "Event" : "s3:ObjectCreated:*",
        "Filter" : {
          "S3Key" : {
            "Rules" : [{
              "Name" : "suffix",
              "Value" : "zip"
            }]
          }
        }
      }]
    }
  }
}

【问题讨论】:

    标签: amazon-s3 aws-lambda amazon-cloudformation


    【解决方案1】:

    我还没有找到使用 CloudFormation 管理现有资源的方法。此外,在存储桶上使用 BucketName 属性会显着限制 CloudFormation 管理您的存储桶的能力。例如,它不能替换资源,或者在您账户的另一个堆栈中再次创建它。我建议改为省略此属性,让 Cloudformation 创建存储桶名称并通过在同一堆栈中设置的环境变量引用存储桶的 ARN。

    【讨论】:

    • 是的,看起来不可能。解决方法是编写一个 lambda 并使用自定义 CF 函数。
    猜你喜欢
    • 1970-01-01
    • 2022-01-27
    • 2019-08-12
    • 2021-03-16
    • 2020-03-03
    • 2020-09-07
    • 1970-01-01
    • 2018-05-26
    • 2016-06-22
    相关资源
    最近更新 更多