AWSSQS队列未从SNS主题订阅接收消息。
创始人
2024-09-27 12:31:02
0
  1. 确保SNS主题的订阅是正确的且已验证。可以通过以下代码检查订阅是否存在并已验证:

import boto3

sns = boto3.client('sns') subscriptions = sns.list_subscriptions()['Subscriptions'] for subscription in subscriptions: if subscription['Protocol'] == 'sqs' and subscription['TopicArn'] == 'YOUR_TOPIC_ARN' and subscription['SubscriptionArn'] != 'PendingConfirmation': print('Subscription is verified and active')

  1. 检查SQS队列的访问权限是否正确。确保已给SNS主题授予向SQS队列发送消息的权限。可以使用以下代码查看SNS主题的访问策略:

import boto3

sns = boto3.client('sns') policy = sns.get_topic_attributes(TopicArn='YOUR_TOPIC_ARN')['Attributes']['Policy'] print(policy)

如果策略未设置正确的访问权限,可以使用以下代码为其设置访问策略:

import boto3 from botocore.exceptions import ClientError

sns = boto3.client('sns')

policy = { "Version": "2008-10-17", "Id": "example", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "sns:Publish", "Resource": "YOUR_TOPIC_ARN", "Condition": { "ArnEquals": { "aws:SourceArn": "YOUR_TOPIC_ARN" } } } ] }

try: sns.set_topic_attributes(TopicArn='YOUR_TOPIC_ARN', AttributeName='Policy', AttributeValue=json.dumps(policy)) except ClientError as e: print('Error: ', e)

  1. 检查SQS队列的正确性。确保使用正确的SQS队列URL来订阅SNS主题。可以使用以下代码检查队列是否存在:

import boto3

sqs = boto3.client('sqs')

try: queue_url = sqs.get_queue_url(QueueName='YOUR_QUEUE_NAME')['QueueUrl'] print(queue_url) except: print('Queue does not exist')

如果队列不存在,可以使用以下代码创建一个新队列:

import boto3

sqs = boto3.client('sqs')

response = sqs.create_queue( QueueName='YOUR_QUEUE_NAME' )

queue_url = response['QueueUrl'] print(queue_url)

  1. 检查SNS主题的发布程序

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...