nad*_*nad 5 amazon-sqs aws-lambda
我正在尝试从 AWS lambda 写入 SQS 队列,如下所示。
sqs = boto3.resource(
'sqs',
region_name='us-east-1'
)
def lambda_handler(event, context):
queue_name = event["queue_name"]
sqsQ = sqs.get_queue_by_name(QueueName=queue_name)
msg_body = {
"source": "some_source",
"mse": 120
}
msg = sqsQ.send_message(MessageBody=json.dumps(msg_body), MessageGroupId="some_id", MessageDeduplicationId=str(uuid.uuid4()))
Run Code Online (Sandbox Code Playgroud)
但我收到队列不存在错误
"errorMessage": "An error occurred (AWS.SimpleQueueService.NonExistentQueue) when calling the GetQueueUrl operation: The specified queue does not exist or you do not have access to it.",
"errorType": "QueueDoesNotExist",
Run Code Online (Sandbox Code Playgroud)
我确保队列名称正确(复制粘贴)并且它是正确的区域。
我缺少什么?
sqs:ReceiveMessage, sqs:DeleteMessage, sqs:GetQueueAttributes. AWS 文档def get_msg_from_sqs():
sqs_client = boto3.client('sqs')
print("--- Getting message from SQS")
response = sqs_client.receive_message(
QueueUrl="https://sqs.eu-west-2.amazonaws.com/0000000000/manual_test_to_mesage_sender_queue",
MaxNumberOfMessages=10,
WaitTimeSeconds=10
)
print("--- Full Response:")
print(response)
messages = response.get('Messages')
for message in messages:
body = message.get('Body')
json_body = json.loads(body)
message = json_body.get('Message')
json_msg = json.loads(message)
print("--- Message:")
print(json_msg.get('number'))
print(json_msg.get('session_id'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6742 次 |
| 最近记录: |