You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Transfer Family:Lambda中boto3 v1.35.92不识别start_remote_delete

问题解决:AttributeError: 'Transfer' object has no attribute 'start_remote_delete'

原因分析

你遇到的错误是因为当前Lambda环境中使用的boto3版本(1.35.92)对应的Transfer Family客户端没有封装start_remote_delete方法。AWS新API方法需要对应的SDK更新才能支持,即使官方文档已标注支持,SDK的适配可能存在延迟,或者Lambda默认环境的依赖版本未同步更新。

解决方案

1. 验证并升级依赖版本

Lambda默认运行时环境自带的boto3/botocore版本可能落后于你预期的版本。先在Lambda中打印当前依赖版本确认:

import boto3
import botocore

print(f"boto3 version: {boto3.__version__}")
print(f"botocore version: {botocore.__version__}")

如果版本确实低于支持start_remote_delete的要求,可通过以下方式升级:

  • 创建包含最新boto3和botocore的Lambda层,附加到你的函数上;
  • 或在部署包中直接打包最新版依赖(注意避免与Lambda运行时自带依赖冲突)。

2. 用invoke_operation直接调用API(无需升级SDK)

如果暂时无法升级依赖,可使用Transfer客户端的invoke_operation方法直接调用该API,绕过客户端方法封装的限制:

# 替换原有的start_remote_delete调用
delete_response = transfer.invoke_operation(
    Operation='StartRemoteDelete',
    ConnectorId=connector_id,
    Parameters={
        'RemoteFilePaths': retrieve_paths
    }
)
print(f"Delete started: {delete_response['RemoteDeleteId']}")

3. 等待传输完成再执行删除

当前代码在启动传输后立即触发删除,可能导致文件未完成传输就被删除。建议先轮询传输状态,确认完成后再执行删除:

import time

# 启动传输后添加状态轮询逻辑
while True:
    transfer_status = transfer.describe_file_transfer(TransferId=transfer_id)
    status = transfer_status['FileTransferStatus']
    if status in ['COMPLETED', 'FAILED']:
        break
    time.sleep(5)  # 每5秒轮询一次

if status == 'COMPLETED':
    # 执行删除操作
    delete_response = transfer.invoke_operation(
        Operation='StartRemoteDelete',
        ConnectorId=connector_id,
        Parameters={'RemoteFilePaths': retrieve_paths}
    )
    print(f"Delete started: {delete_response['RemoteDeleteId']}")
else:
    print(f"Transfer failed with status: {status}")

4. 确认API支持的资源类型

确保你的Transfer Connector类型(SFTP)确实支持start_remote_delete操作,核对AWS官方文档中该API的适用场景与限制。

内容的提问来源于stack exchange,提问作者Sahith Thatipalli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 19:07:32