首页 > 解决方案 > 如何将选定的记录从一个 DynamoDB 表复制到另一个?

问题描述

我有两个 DynamoDB 表,我只想将 5000 条记录中的 100 条复制到另一个表中。有什么办法吗?我目前有一个脚本可以复制表格的全部内容,但我只需要复制几条记录。

AWS 有什么办法吗?这是我目前正在使用的脚本:

import boto3
import os
import datetime

def lambda_handler(event, context):

    from datetime import datetime
    dynamotargetclient = boto3.client('dynamodb', region_name='****', ## Account key
        aws_access_key_id='****',
        aws_secret_access_key='****')
    
    dynamoclient = boto3.client('dynamodb', region_name='***',   ##UAT  Account key
        aws_access_key_id='****',
        aws_secret_access_key='****')

    #print ("Scanning and replicating Table Name : " + table)
    dateTimeObj = datetime.now()
    print (dateTimeObj)

    dynamopaginator = dynamoclient.get_paginator('scan')
    
    tabname= '****'
    
    targettabname= '****'
    dynamoresponse = dynamopaginator.paginate(
        TableName=tabname,
        Select='ALL_ATTRIBUTES',
        ReturnConsumedCapacity='NONE',
        ConsistentRead=True
    )
    for page in dynamoresponse:
        for item in page['Items']:
            dynamotargetclient.put_item(
                TableName=targettabname,
                Item=item
            )
            
    print ("Replication complete for Table Name : " + targettabname)
    print (datetime.now())

标签: python-3.xamazon-web-servicesdatatableamazon-dynamodbamazon-data-pipeline

解决方案


推荐阅读