enGMzizo / copy-dynamodb-table

Copy Dynamodb table to another in the same or different zone , It is 100% safe. Speed depends on your destination table user-defined write provisioned throughput
130 stars 39 forks source link

Seems to fail when copying from a global replicated table #29

Open bataras opened 4 years ago

bataras commented 4 years ago

Copying from a table that is replicated to a 2nd region into a new table that is not replicated fails per below. Copying from a non-replicated table to a replicated table works. In both cases, the source and destination tables are in the same region

MultipleValidationErrors: There were 2 validation errors:
    * UnexpectedParameter: Unexpected key 'GlobalTableVersion' found in params
* UnexpectedParameter: Unexpected key 'Replicas' found in params
at ParamValidator.validate (/Users/user/dev/test/node_modules/aws-sdk/lib/param_validator.js:40:28)
at Request.VALIDATE_PARAMETERS (/Users/user/dev/test/node_modules/aws-sdk/lib/event_listeners.js:132:42)
at Request.callListeners (/Users/user/dev/test/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at callNextListener (/Users/user/dev/test/node_modules/aws-sdk/lib/sequential_executor.js:96:12)
at /Users/user/dev/test/node_modules/aws-sdk/lib/event_listeners.js:86:9
at finish (/Users/user/dev/test/node_modules/aws-sdk/lib/config.js:386:7)
at /Users/user/dev/test/node_modules/aws-sdk/lib/config.js:404:9
at SharedIniFileCredentials.get (/Users/user/dev/test/node_modules/aws-sdk/lib/credentials.js:127:7)
at getAsyncCredentials (/Users/user/dev/test/node_modules/aws-sdk/lib/config.js:398:24)
at Config.getCredentials (/Users/user/dev/test/node_modules/aws-sdk/lib/config.js:418:9) {
    code: 'MultipleValidationErrors',
        errors: [
        UnexpectedParameter: Unexpected key 'GlobalTableVersion' found in params
    at ParamValidator.fail (/Users/user/dev/test/node_modules/aws-sdk/lib/param_validator.js:50:37)
    at ParamValidator.validateStructure (/Users/user/dev/test/node_modules/aws-sdk/lib/param_validator.js:77:14)
    at ParamValidator.validateMember (/Users/user/dev/test/node_modules/aws-sdk/lib/param_validator.js:88:21)
    at ParamValidator.validate (/Users/user/dev/test/node_modules/aws-sdk/lib/param_validator.js:34:10)
    at Request.VALIDATE_PARAMETERS (/Users/user/dev/test/node_modules/aws-sdk/lib/event_listeners.js:132:42)
    at Request.callListeners (/Users/user/dev/test/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at callNextListener (/Users/user/dev/test/node_modules/aws-sdk/lib/sequential_executor.js:96:12)
    at /Users/user/dev/test/node_modules/aws-sdk/lib/event_listeners.js:86:9
    at finish (/Users/user/dev/test/node_modules/aws-sdk/lib/config.js:386:7)
    at /Users/user/dev/test/node_modules/aws-sdk/lib/config.js:404:9 {
        code: 'UnexpectedParameter',
            time: 2020-08-11T21:37:47.341Z
    },
    UnexpectedParameter: Unexpected key 'Replicas' found in params
    at ParamValidator.fail (/Users/user/dev/test/node_modules/aws-sdk/lib/param_validator.js:50:37)
    at ParamValidator.validateStructure (/Users/user/dev/test/node_modules/aws-sdk/lib/param_validator.js:77:14)
    at ParamValidator.validateMember (/Users/user/dev/test/node_modules/aws-sdk/lib/param_validator.js:88:21)
    at ParamValidator.validate (/Users/user/dev/test/node_modules/aws-sdk/lib/param_validator.js:34:10)
    at Request.VALIDATE_PARAMETERS (/Users/user/dev/test/node_modules/aws-sdk/lib/event_listeners.js:132:42)
    at Request.callListeners (/Users/user/dev/test/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    at callNextListener (/Users/user/dev/test/node_modules/aws-sdk/lib/sequential_executor.js:96:12)
    at /Users/user/dev/test/node_modules/aws-sdk/lib/event_listeners.js:86:9
    at finish (/Users/user/dev/test/node_modules/aws-sdk/lib/config.js:386:7)
    at /Users/user/dev/test/node_modules/aws-sdk/lib/config.js:404:9 {
        code: 'UnexpectedParameter',
            time: 2020-08-11T21:37:47.341Z
    }
],
    time: 2020-08-11T21:37:47.341Z
}
{
    Table: {
        AttributeDefinitions: [ [Object] ],
            TableName: 'blah',
            KeySchema: [ [Object] ],
            ProvisionedThroughput: { ReadCapacityUnits: 5, WriteCapacityUnits: 5 },
        StreamSpecification: { StreamEnabled: true, StreamViewType: 'NEW_AND_OLD_IMAGES' },
        GlobalTableVersion: '2019.11.21',
            Replicas: [ [Object] ]
    }
}
mmblearner commented 4 years ago

any solution we got on this ? Getting similar error

MattWlodarski commented 5 months ago

For some reason setting create: false fixed this issue for me. Just make sure you have the table created ahead of time!