簡體   English   中英

AWS Lambda 無法找到明確存在的 SNS 主題?

[英]AWS Lambda is unable to find a SNS topic that clearly exists?

我通過控制台創建了一個 SNS 主題。 然后嘗試調用list_subscriptions_by_topicsns.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM