Это скребок для головы:
sns_policy = {
"Version":"2012-10-17",
"Statement":[{
"Effect" : "Allow",
"Principal" : { "AWS": "*" },
"Action" : ["sns:Publish", "sns:ListSubscriptionsByTopic", "sns:Unsubscribe"],
"Resource" : "arn:aws:sns:us-west-2:234234234:test",
"Condition" : {
"ArnEquals" : {
"aws:SourceArn" : "arn:aws:lambda:us-west-2:234234234:function:*"
}
}
}]
}
sns.set_topic_attributes(TopicArn = "arn:aws:sns:us-west-2:234234234:test",
AttributeName = "Policy",
AttributeValue = json.dumps(sns_policy)
)
Добавление третьего элемента массива Action
, sns:Unsubscribe
приводит к Invalid parameter: Policy statement action out of service scope! (Service: AmazonSNS; Status Code: 400; Error Code: InvalidParameter;
, а удаление sns:Unsubscribe
работает нормально.
Почемуэто не разрешено AWS?Мне нужна моя лямбда-функция, чтобы иметь возможность подписываться и отписываться от очередей на SNS :: test topic.