Amazon web services 添加其他sns:取消订阅sns访问策略会导致InvalidParameter错误

Amazon web services 添加其他sns:取消订阅sns访问策略会导致InvalidParameter错误,amazon-web-services,boto3,amazon-sns,Amazon Web Services,Boto3,Amazon Sns,这是一个令人头痛的问题: sns_policy = { "Version":"2012-10-17", "Statement":[{ "Effect" : "Allow", "Principal" : { "AWS": "*" }, "Action" : ["sns:Publish", "sns:ListSubscriptionsByTopic", "sns:Unsubscribe"], "Resource" :

这是一个令人头痛的问题:

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
将导致
无效参数:策略语句操作超出服务范围!(服务:AmazonSNS;状态代码:400;错误代码:InvalidParameter;和删除sns:Unsubscribe工作正常

为什么AWS不允许这样做?我需要我的lambda函数能够订阅和取消订阅SNS::test主题的队列。

根据
SNS:unsubscribe
未列为有效的SNS策略操作

尝试使用
客户端。取消订阅(SubscriptionArn='string')
改为按照。

根据
sns:取消订阅
未列为有效的sns策略操作


尝试使用
client.unsubscribe(SubscriptionArn='string')
而不是按照。

我得到`invalidparameter:SubscriptionId无效。`您是否正在传递订阅的arn(而不是sqs)?我传递的是主题而不是订阅Arni get`invalidparameter:SubscriptionId无效。`你传递的是订阅的arn(不是sqs)?我传递的是主题而不是订阅arn