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

us-east-2区域用AWS Data Pipeline导出DynamoDB到S3遇资源未找到问题

解决跨区域DynamoDB表通过Data Pipeline备份到S3的资源找不到问题

你遇到的核心问题是Data Pipeline默认会使用自身所在区域的DynamoDB服务端点,所以当你的管道部署在us-west-2时,它只会去us-west-2的DynamoDB集群里查找表,自然定位不到us-east-2的目标表。下面给你两个可行的解决方案,优先推荐第一种更简单的原生方法:

方案1:使用DynamoDB原生导出到S3功能(推荐)

现在AWS DynamoDB已经支持直接将表数据导出到S3,不需要依赖Data Pipeline,而且完全支持跨区域操作,步骤很直观:

  • 登录AWS控制台,切换到us-east-2区域,找到你的目标DynamoDB表
  • 进入表的「导出和导入」标签页,点击「导出到S3」
  • 配置导出参数:
    • 选择要导出的数据范围(全表或特定时间点快照)
    • 指定目标S3桶(可以是任意区域的桶,但建议和DynamoDB同区域以减少跨区域数据传输费用)
    • 选择具有DynamoDB导出权限和S3写入权限的IAM角色(如果没有现成角色,控制台会自动生成符合要求的默认角色)
  • 点击「启动导出」即可,导出完成后数据会以Apache Parquet格式存储在S3桶中,后续导入其他区域的DynamoDB也可以直接用原生导入功能完成。

方案2:修改Data Pipeline配置,指定跨区域DynamoDB端点

如果你一定要用Data Pipeline来完成备份,需要手动指定us-east-2的DynamoDB服务端点,让管道跨区域访问目标表:

  1. 在us-west-2区域创建Data Pipeline,选择「Export DynamoDB table to S3」模板
  2. 编辑管道的数据源节点(对应DynamoDB表的配置部分):
    • 找到「DynamoDB endpoint」字段,手动填入https://dynamodb.us-east-2.amazonaws.com
    • 确认「DynamoDB table name」填的是us-east-2的目标表名称
  3. 检查并更新IAM角色的权限策略:
    • 给角色添加针对us-east-2区域DynamoDB表的访问权限,比如添加以下策略片段:
      {
          "Effect": "Allow",
          "Action": [
              "dynamodb:Scan",
              "dynamodb:DescribeTable"
          ],
          "Resource": "arn:aws:dynamodb:us-east-2:*:table/your-target-table-name"
      }
      
    • 同时确保角色有写入目标S3桶的完整权限
  4. 保存并激活管道,此时Data Pipeline会通过你指定的端点连接到us-east-2的DynamoDB服务,就能正确找到你的目标表了。

为什么之前同名表在us-west-2可以正常运行?

因为当你在us-west-2创建同名表时,Data Pipeline默认使用该区域的DynamoDB端点(https://dynamodb.us-west-2.amazonaws.com),自然能找到同区域的表;而跨区域操作时,必须手动覆盖这个默认端点才能定位到其他区域的资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:57:39