AWS Nodejs v20 Lambda: Unable to load credentials

0

Initializing the dynamo client as follows-

const dynamoDBClient = new DynamoDBClient({ region: 'us-west-1', credentials: defaultProvider() });

Error:

2024-01-18T17:47:48.879Z	9ec651f1-4703-49f2-b03a-94c118e3e502	INFO	CredentialsProviderError: Could not load credentials from any providers
    at /var/task/node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/credential-provider-node/dist-cjs/defaultProvider.js:13:11
    at /var/task/node_modules/@smithy/property-provider/dist-cjs/chain.js:12:39
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async coalesceProvider (/var/task/node_modules/@smithy/property-provider/dist-cjs/memoize.js:14:24)
    at async /var/task/node_modules/@smithy/property-provider/dist-cjs/memoize.js:33:24
    at async /var/task/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js:35:23
    at async /var/task/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:7:26
    at async findLoggedInUser (/var/task/storage/database.js:172:18)
    at async clerkAuth (/var/task/middleware/authentication.js:58:30)
    at async handleRequest (/var/task/handlers/dashboard.js:100:34) {
  tryNextLink: false
}

Have spent hours on this. Also created a role for the lambda and gave it tons of permissions.

sj
已提問 4 個月前檢視次數 241 次
2 個答案
1

Try without specifying the credential creation in the initializer

const dynamoDBClient = new DynamoDBClient({ region: 'us-west-1'});

If that fails, share your IAM policy as its hard to decipher what a ton of permissions are. Follow this blog for guidance: https://aws.amazon.com/blogs/security/how-to-create-an-aws-iam-policy-to-grant-aws-lambda-access-to-an-amazon-dynamodb-table/

profile pictureAWS
專家
已回答 4 個月前
0

Hi!

It seems like your Lambda function is struggling to load the necessary credentials for DynamoDB. Given that you've already assigned a role with extensive permissions, the issue might be in the IAM role configuration or the default credentials provider. Sometimes, the smallest oversight in role permissions or trust relationships can lead to such errors. Also, ensure that the AWS SDK version you're using aligns with your Node.js setup. If these aspects all check out, it might be worth enabling more detailed logging for deeper insights, or even reaching out to AWS support for that extra bit of help. Hang in there, these issues can be tricky but are often solvable with a bit of persistence and the right approach.

I'm here to help with any further questions or guidance you might need.

profile picture
已回答 4 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南