dynamodb-parallel-scan icon indicating copy to clipboard operation
dynamodb-parallel-scan copied to clipboard

Getting UnrecognizedClientException error

Open camilalbmaia opened this issue 2 years ago • 9 comments
trafficstars

I'm following the steps to use dynamodb-parallel-scan, but I'm getting the following error with the two latest versions (3.4.0 and 3.5.0):

UnrecognizedClientException: The security token included in the request is invalid.
      at throwDefaultError ([/var/task/node_modules/@aws-sdk/smithy-client/dist-cjs/default-error-handler.js:8:22](mailto:/var/task/node_modules/@aws-sdk/smithy-client/dist-cjs/default-error-handler.js:8:22))
      at [/var/task/node_modules/@aws-sdk/smithy-client/dist-cjs/default-error-handler.js:18:39](mailto:/var/task/node_modules/@aws-sdk/smithy-client/dist-cjs/default-error-handler.js:18:39)
      at de_DescribeTableCommandError ([/var/task/node_modules/@aws-sdk/client-dynamodb/dist-cjs/protocols/Aws_json1_0.js:1191:20](mailto:/var/task/node_modules/@aws-sdk/client-dynamodb/dist-cjs/protocols/Aws_json1_0.js:1191:20))
      at processTicksAndRejections (internal/process/task_queues.js:95:5)
      at async [/var/task/node_modules/@aws-sdk/middleware-serde/dist-cjs/deserializerMiddleware.js:7:24](mailto:/var/task/node_modules/@aws-sdk/middleware-serde/dist-cjs/deserializerMiddleware.js:7:24)
     at async [/var/task/node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js:14:20](mailto:/var/task/node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js:14:20)
      at async [/var/task/node_modules/@aws-sdk/middleware-retry/dist-cjs/retryMiddleware.js:27:46](mailto:/var/task/node_modules/@aws-sdk/middleware-retry/dist-cjs/retryMiddleware.js:27:46)
      at async [/var/task/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:7:26](mailto:/var/task/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:7:26)
      at async getTableItemsCount ([/var/task/node_modules/@shelf/dynamodb-parallel-scan/lib/ddb.js:42:16](mailto:/var/task/node_modules/@shelf/dynamodb-parallel-scan/lib/ddb.js:42:16))
      at async Object.parallelScanAsStream ([/var/task/node_modules/@shelf/dynamodb-parallel-scan/lib/parallel-scan-stream.js:25:26](mailto:/var/task/node_modules/@shelf/dynamodb-parallel-scan/lib/parallel-scan-stream.js:25:26)) { 
    '$fault': 'client',
    '$metadata': {
      httpStatusCode: 400,
      requestId: '9N2RIU65LR9UBHDFLOADD656OVVV4KQNSO5AEMVJF66Q9ASUAAJG',
      extendedRequestId: undefined,
      cfId: undefined,
      attempts: 1,
      totalRetryDelay: 0
    },
    __type: 'com.amazon.coral.service#UnrecognizedClientException'
  }

It works fine with version 3.3.0.

Do I need to use it in a different way for the latest versions? I'm using 'parallelScanAsStream'.

camilalbmaia avatar Jun 23 '23 19:06 camilalbmaia

@harazdovskiy do you think it's because of recent changes?

vladholubiev avatar Jun 23 '23 19:06 vladholubiev

This has begun happening for me, since upgrading, as well. I've set AWS_REGION, AWS_ACCESS_KEY_ID, and AWS_SECRET_ACCESS_KEY in the usual way. Thank you for any help!

UnrecognizedClientException: The security token included in the request is invalid.
    at throwDefaultError (/Users/dan/FilmpacProjects/music-api/node_modules/@smithy/smithy-client/dist-cjs/default-error-handler.js:8:22)
    at /Users/dan/FilmpacProjects/music-api/node_modules/@smithy/smithy-client/dist-cjs/default-error-handler.js:18:39
    at de_DescribeTableCommandError (/Users/dan/FilmpacProjects/music-api/node_modules/@aws-sdk/client-dynamodb/dist-cjs/protocols/Aws_json1_0.js:1191:20)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /Users/dan/FilmpacProjects/music-api/node_modules/@smithy/middleware-serde/dist-cjs/deserializerMiddleware.js:7:24
    at async /Users/dan/FilmpacProjects/music-api/node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js:14:20
    at async /Users/dan/FilmpacProjects/music-api/node_modules/@smithy/middleware-retry/dist-cjs/retryMiddleware.js:27:46
    at async /Users/dan/FilmpacProjects/music-api/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:7:26
    at async getTableItemsCount (/Users/dan/FilmpacProjects/music-api/node_modules/@shelf/dynamodb-parallel-scan/lib/ddb.js:42:16)
    at async parallelScan (/Users/dan/FilmpacProjects/music-api/node_modules/@shelf/dynamodb-parallel-scan/lib/parallel-scan.js:20:26) {
  '$fault': 'client',
  '$metadata': {
    httpStatusCode: 400,
    requestId: '8ARFRTBNBBM74VR4B6PUTEDU13VV4KQNSO5AEMVJF66Q9ASUAAJG',
    extendedRequestId: undefined,
    cfId: undefined,
    attempts: 1,
    totalRetryDelay: 0
  },
  __type: 'com.amazon.coral.service#UnrecognizedClientException'
}

dan-doran-fp avatar Jul 03 '23 04:07 dan-doran-fp

I guess this should fix the issue https://github.com/shelfio/dynamodb-parallel-scan/pull/235

harazdovskiy avatar Jul 05 '23 10:07 harazdovskiy

@dan-doran-fp, please check whether your issue is resolved with the new version 3.5.2

harazdovskiy avatar Jul 05 '23 12:07 harazdovskiy

Hi @harazdovskiy I hit this issue and tried 3.5.2 there is a new error now.

CredentialsProviderError: Could not load credentials from any providers

image

jakedaleweb avatar Jul 06 '23 02:07 jakedaleweb

@jakedaleweb please try v3.5.3 it should be fixed now. Big thanks to @mpushkin!

harazdovskiy avatar Jul 12 '23 19:07 harazdovskiy

@harazdovskiy have given 3.5.3 a try and the problem still exists.

It would be helpful if the credentials here could be linked to AwsCredentialIdentityProvider to be able to retreive credentials from the metadata service as required.

For example, something like this below. Then the getCredentials function could fetch the details when required.

export type Credentials = AwsCredentialIdentityProvider | {
  accessKeyId: string;
  secretAccessKey: string;
  sessionToken: string;
};

peterabbott avatar Jul 13 '23 00:07 peterabbott

@dan-doran-fp, please check whether your issue is resolved with the new version 3.5.2

The latest version is working for me. Fwiw, I set the AWS_PROFILE environment variable.

Thank you very much!

dan-doran-fp avatar Jul 13 '23 16:07 dan-doran-fp

I still have to go back to 3.3.0. Can you please explain (and update the readme) how to setup the connexion for the latest version? Thanks

bernier avatar Aug 14 '23 20:08 bernier