AWS SQS 从 Lambda 重新驱动时出错 - boto3 AttributeError:SQS 客户端对象没有属性“start_message_move_task”

问题描述 投票:0回答:1

我正在尝试从 AWS Lambda 执行启动 DLQ 重新驱动的方法。根据文档,boto3 版本必须为 1.34.44 或更高版本。 lambda 的 boto3 版本为 1.34.9,Python 版本为 3.8.18。

我的代码是:

import boto3
SQS = boto3.client("sqs")
dlq_queue_arn = "<dead letter queue arn>"
queue_arn = "<queue arn>"

task_handle = SQS.start_message_move_task(
                  SourceArn=dlq_queue_arn,
                  DestinationArn=queue_arn,
              )

错误跟踪是:

task_handle = SQS.start_message_move_task(
File "/opt/python/botocore/client.py", line 906, in __getattr__
raise AttributeError(
AttributeError: 'SQS' object has no attribute 'start_message_move_task'

奇怪的是,代码在本地运行,与上面提到的版本相同。

amazon-web-services aws-lambda boto3 amazon-sqs botocore
1个回答
0
投票

根据 Lambda 运行时 - AWS LambdaPython 3.12(最新)运行时具有

boto3-1.28.72
。因此,它不支持这个新命令。

您需要打包自己的 boto3 或就地升级。

请参阅:AWS Lambda 控制台 - 升级 boto3 版本

© www.soinside.com 2019 - 2024. All rights reserved.