Как включить ведение журнала SNS для уведомлений, отправляемых в AWS Lambda с помощью SDK? - PullRequest
2 голосов
/ 15 мая 2019

Требование:

Включить ведение журнала состояния доставки SNS (в CloudWatch) для уведомлений, отправляемых в AWS Lambda с помощью SDK (не через консоль)

Проблема:

Через консоль мы можем легко включить регистрацию статуса доставки , выбрав протокол как «AWS Lambda».Однако через SDK есть только возможность установить его для протокола «конечная точка приложения платформы» , который имеет обязательное свойство PlatformApplicationArn, поэтому его нельзя использовать для других протоколов журнала.

Что-то мне не хватает, или эта функция еще не доступна?

1 Ответ

0 голосов
/ 17 мая 2019

Хорошо, так что после многих хлопот из-за документации крайне вводит в заблуждение, я понял это.

Для того, чтобы включить ведение журнала для протокола Lambda (и у меня естьдругие протестированы) вы должны использовать SetTopicAttributes .Несмотря на то, что в документации говорится, что AttributeName - это карта, которая содержит DeliveryPolicy, DisplayName или Policy, на самом деле вы должны установить AttributeName в LambdaSuccessFeedbackRoleArn, LambdaFailureFeedbackRoleArn и LambdaSuccessFeedbackSampleRate in 3 отдельных вызова SNS.setTopicAttributes () .

Итак, параметры будут выглядеть так:

let paramsSuccessFeedbackRoleArn = {
    TopicArn: topicArn,
    AttributeName: "LambdaSuccessFeedbackRoleArn",
    AttributeValue: "replace with arn for SuccessFeedbackRoleArn"
};
let paramsFailureFeedbackRoleArn = {
    TopicArn: topicArn,
    AttributeName: "LambdaFailureFeedbackRoleArn",
    AttributeValue: "replace with arn for FailureFeedbackRoleArn"
};
let paramsSuccessFeedbackSampleRate = {
    TopicArn: topicArn,
    AttributeName: "LambdaSuccessFeedbackSampleRate",
    AttributeValue: 0
};

И затем 3 вызова SNS, по одному для каждого из параметров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...