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

如何用Boto3导出DynamoDB表?Lambda执行遇属性错误

解决DynamoDB导出到S3时的AttributeError错误

出现'dynamodb.ServiceResource' object has no attribute 'export_table_to_point_in_time'错误的核心原因:你使用了boto3的**资源(Resource)对象调用了仅属于客户端(Client)**的API方法。export_table_to_point_in_time是DynamoDB客户端专属的操作,无法通过资源类对象调用。

修正后的代码

import boto3
import datetime

def lambda_handler(event, context):
    # 替换为boto3.client创建DynamoDB客户端实例
    client = boto3.client('dynamodb', endpoint_url="http://localhost:8000")
    response = client.export_table_to_point_in_time(
        TableArn='你的表ARN字符串',
        # 注意调用datetime模块下的datetime类(原代码少了一层调用)
        ExportTime=datetime.datetime(2015, 1, 1),
        S3Bucket='my-bucket',
        # 若无需指定桶所有者可删除此参数,需保留则填写正确的AWS账号ID
        S3BucketOwner='你的AWS账号ID',
        ExportFormat='DYNAMODB_JSON'
    )

    print("响应 :", response)

额外注意事项

  • 确保Lambda执行角色拥有dynamodb:ExportTableToPointInTime权限,以及向目标S3桶写入的权限
  • 你的Boto3版本1.24.82已支持该API,版本无需升级
  • 若在AWS云端运行Lambda,无需指定endpoint_url,会自动使用当前区域的默认端点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:40:35