Я пытаюсь создать ConfigurationSetEventDestination
с использованием ресурсов без сервера , но он не распознает EventDestination
для значения SNSDestination
, вот вывод:
А вот ресурс от serverless.yml
resources:
Resources:
HandleEmailsEvents:
Type: AWS::SNS::Topic
Properties:
DisplayName: 'Handle emails events (${self:custom.stage})'
TopicName: 'HandleEmailsEvents'
ConfigurationSet:
Type: 'AWS::SES::ConfigurationSet'
Properties:
Name: 'EMAIL_TRACKING'
ConfigurationSetEventDestination:
Type: 'AWS::SES::ConfigurationSetEventDestination'
Properties:
ConfigurationSetName: 'EMAIL_TRACKING'
EventDestination:
Name: 'EMAIL_TRACKING_DESTINATION'
Enabled: true
MatchingEventTypes:
- bounce
- complaint
SNSDestination:
TopicARN:
Ref: 'HandleEmailsEvents'
Следуя документации ConfigurationSetEventDestination EventDestination кажется недоступным, но здесь это с этим объектом описания.
Назначение SNS также доступно при создании из консоли
@ AWS Что здесь происходит?
Спасибо,
PS: я не единственный ...
https://forums.aws.amazon.com/thread.jspa?messageID=858616󑧸
https://forums.aws.amazon.com/thread.jspa?messageID=809004󅠬
https://forums.aws.amazon.com/thread.jspa?messageID=848013󏂍
[ОБНОВЛЕНО]
Я пытался создать то же самое с помощью nodejs sdk, все работает, возможно, документы здесь .
Может быть что-то с сгенерированным стеком CloudFormation?
let ses = new AWS.SES()
const destinationParams = {
ConfigurationSetName: 'test',
EventDestination: {
Name: 'xxxxx2',
MatchingEventTypes: ['send', 'reject', 'bounce', 'complaint', 'delivery', 'open', 'click'],
Enabled: true,
SNSDestination: {
TopicARN: 'arn:aws:sns:us-east-1:xxxxxxxxxx:test',
},
},
};
ses.createConfigurationSetEventDestination(destinationParams, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});