💽

CredentialsProviderError: Could not load credentials from any provider

2022/02/08に公開

AWS-SDK V3 NODE.js DynamoDBへの書き込み

AWS-SDK V3(node.js)でDynamoDBへ書き込むとき。
公式Documentの例はこんな感じになっている。

import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
// Set the AWS Region.
const REGION = "REGION"; //e.g. "us-east-1"
// Create an Amazon DynamoDB service client object.
const ddbClient = new DynamoDBClient({ region: REGION });
export { ddbClient };

これを作って、ddbClient.sendしたりする。

だがこれだとこのようなエラーになることがある。

CredentialsProviderError: Could not load credentials from any providers

credentialsがロードできないぞと。
こう書き直す。

import { DynamoDBClient } from '@aws-sdk/client-dynamodb'
const REGION = 'ap-northeast-1'
const ddbClient = new DynamoDBClient({
  region: REGION,
  credentials: { accessKeyId: 'FAKE', secretAccessKey: 'FAKE' },
  endpoint: 'http://localhost:8000',
})
export { ddbClient }

FAKEのところには正しいものを入れよう。
Local DynamoDBの場合はそのままでOK。

Discussion