当使用AWS SQS和Lambda触发器时,可能会遇到MultipleValidationErrors错误。这通常是由于Lambda函数返回的错误消息格式不正确引起的。以下是解决此错误的步骤:
import json
def lambda_handler(event, context):
# Your code here
if condition:
return {
'statusCode': 400,
'body': json.dumps({'error': 'error message'})
}
import json
import boto3
sqs = boto3.client('sqs')
def send_message_to_sqs_queue(queue_url, message):
sqs.send_message(
QueueUrl=queue_url,
MessageBody=json.dumps({'message': message})
)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:ReceiveMessage",
"sqs:DeleteMessage",
"sqs:GetQueueAttributes"
],
"Resource": "your_queue_arn"
}
]
}