首先检查两个队列的订阅者是否正确,然后检查订阅者是否正常接收到消息。如果一切正常,可能是由于队列中的一些属性配置不同,例如队列的最大可用性区域、延迟时间等。
以下是对 Amazon SQS 队列的属性进行修改的示例代码:
import boto3
sqs = boto3.client('sqs')
queue_url = 'YOUR_QUEUE_URL'
response = sqs.get_queue_attributes( QueueUrl=queue_url, AttributeNames=[ 'MaximumMessageSize', 'ReceiveMessageWaitTimeSeconds', 'VisibilityTimeout', 'DelaySeconds', 'RedrivePolicy' ] )
sqs.set_queue_attributes( QueueUrl=queue_url, Attributes={ 'MaximumMessageSize': '2048' } )
sqs.set_queue_attributes( QueueUrl=queue_url, Attributes={ 'ReceiveMessageWaitTimeSeconds': '10' } )
sqs.set_queue_attributes( QueueUrl=queue_url, Attributes={ 'VisibilityTimeout': '60' } )
sqs.set_queue_attributes( QueueUrl=queue_url, Attributes={ 'DelaySeconds': '0' } )
sqs.set_queue_attributes( QueueUrl=queue_url, Attributes={ 'RedrivePolicy': '{"maxReceiveCount":"5", "deadLetterTargetArn":"YOUR_DEAD_LETTER_ARN"}' } )