[英]AWS Lambda is unable to find a SNS topic that clearly exists?
我通過控制台創建了一個 SNS 主題。 然后嘗試調用list_subscriptions_by_topic
或sns.publish
但失敗並顯示以下消息:
An error occurred (NotFound) when calling the Publish
operation: Topic does not exist: NotFoundException
該主題可在 SNS 控制台中訪問。 知道為什么找不到嗎?
這是我的 lambda 代碼:
from __future__ import print_function
import json
import boto3
import random
print('Loading function')
sns = boto3.client('sns')
def lambda_handler(event, context):
response = sns.publish(
TopicArn='arn:aws:sns:us-west-2:031436316123:topicExists'
Message=json.dumps(newMsg),
MessageAttributes={
'event_type':{
'DataType':'String', 'StringValue':'something'
}
}
)
return response
它是在訂閱了topicExists
SNS 主題的 SQS 上設置的 Lambda 觸發器。
問題是SNS topic存在於us-west-2
區域,而你的SNS客戶端是在us-east-1
區域創建的。
此行沒有指定區域,因此默認在us-east-1
創建:
sns = boto3.client('sns')
您應該將其替換為:
sns = boto3.client('sns', region_name='us-west-2')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.