亚马逊网络服务 – 通过CloudFormation的AWS Lambda S3 Bucket通知

我试图通过CloudFormation创建一个Lambda通知,但是收到一个关于ARN格式错误的错误.

我的CloudFormation是错误的,或者它不支持Lambda预览.

{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Parameters": {
    "LambdaArn": {
      "Type": "String",
      "Default": "arn:aws:lambda:{some-region}:{some-account-id}:function:{some-fn-name}"
    }
  },
  "Resources": {
    "EventArchive": {
      "Type": "AWS::S3::Bucket",
      "Properties": {
        "NotificationConfiguration": {
          "TopicConfigurations": [
            {
              "Event": "s3:ObjectCreated:Put",
              "Topic": {
                "Ref": "LambdaArn"
              }
            }
          ]
        }
      }
    }
  }
}

但是当我推上这个CloudFormation时,我会收到以下消息:

The ARN is not well formed

有人有这个意思的想法吗?我知道上面的例子已被修改,因此不能使用我的实际ARN,但在我的实际代码中,我直接从GUI复制了ARN.

此外,有趣的是,我能够通过AWS控制台创建通知,所以我只是假设AWS CloudFormation还不支持这个功能(即使这不太清楚,我不认为阅读文档时).

最佳答案
the docs

The Amazon SNS topic to which Amazon S3 reports the specified events.

看来,虽然S3 supports sending events to Lambda,CloudFormation还没有赶上.它期望一个SNS ARN,您正在提供一个Lambda功能ARN.

现在,您将需要手动挂起事件通知.

转载注明原文:亚马逊网络服务 – 通过CloudFormation的AWS Lambda S3 Bucket通知 - 代码日志