【发布时间】:2020-11-14 08:04:13
【问题描述】:
我正在处理一项涉及 Lambda 函数 在 VPC 中运行的任务。
这个函数应该将消息推送到SQS,并且lambda执行角色有策略:AWSLambdaSQSQueueExecutionRole和AWSLambdaVPCAccessExecutionRole添加。
Lambda 函数:
# Create SQS client
sqs = boto3.client('sqs')
queue_url = 'https://sqs.ap-east-1a.amazonaws.com/073x08xx43xx37/xyz-queue'
# Send message to SQS queue
response = sqs.send_message(
QueueUrl=queue_url,
DelaySeconds=10,
MessageAttributes={
'Title': {
'DataType': 'String',
'StringValue': 'Tes1'
},
'Author': {
'DataType': 'String',
'StringValue': 'Test2'
},
'WeeksOn': {
'DataType': 'Number',
'StringValue': '1'
}
},
MessageBody=(
'Testing'
)
)
print(response['MessageId'])
测试执行结果如下:
{
"errorMessage": "2020-07-24T12:12:15.924Z f8e794fc-59ba-43bd-8fee-57f417fa50c9 Task timed out after 3.00 seconds"
}
我将超时从基本设置增加到 5 秒和 10 秒为好。但是错误不断出现。
如果有人过去遇到过类似的问题或想知道如何解决这个问题,请帮助我。
提前谢谢你。
【问题讨论】:
-
您是否有允许您的 Lambda 连接到 SQS 的 VPC 终端节点或 NAT?
-
是的。我已经添加了一个 NAT 安全组。
标签: amazon-web-services aws-lambda boto3 amazon-sqs amazon-vpc