Tôi đang cố tạo thông báo Lambda qua CloudFormation nhưng gặp lỗi về định dạng ARN không chính xác.AWS Lambda S3 Bucket Thông báo qua CloudFormation
CloudFormation của tôi là sai hoặc không hỗ trợ bản xem trước 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"
}
}
]
}
}
}
}
}
Nhưng khi tôi đẩy mạnh CloudFormation này tôi nhận được thông báo:
The ARN is not well formed
Có ai có ý tưởng như những điều này có nghĩa? Tôi biết ví dụ trên đã được sửa đổi để không sử dụng thực tế ARN của tôi, nhưng trong mã thực tế của tôi, tôi đã sao chép ARN trực tiếp từ GUI. Ngoài ra, thú vị là tôi đã có thể tạo thông báo qua bảng điều khiển AWS và vì vậy tôi cho rằng AWS CloudFormation chưa hỗ trợ tính năng này (mặc dù điều đó không rõ ràng lắm, tôi không nghĩ khi đọc tài liệu này).
Bạn có thể sử dụng boto3 để nối nó, nhưng hãy nhớ rằng bạn cần một ['lambda.add_permission()'] (http: // boto3. readthedocs.org/en/latest/reference/services/lambda.html#Lambda.Client.add_permission) + ['s3.BucketNotification.put()'] (http://boto3.readthedocs.org/en/latest/reference /services/s3.html#S3.BucketNotification.lambda_function_configurations) – Gabriel
Dường như điều này được hỗ trợ ngay bây giờ. Tôi đã thêm một câu trả lời mới với các liên kết đến tài liệu liên quan. –