0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PynamoDB でローカルテーブルを指定する場合に Unable to describe table: Unable to locate credentials が発生する

Posted at

問題

Python で DynamoDB を簡単に使うためのライブラリの1つに PynamoDB がある。

このライブラリでは EndPoint を利用することで本番ではなくローカルの DynamoDB を利用することもできる。

しかし、ローカルでは動いていたのだが、アプリケーションを Docker に持っていった瞬間に掲題の Unable to describe table: Unable to locate credentials というエラーが発生してしまったので、その原因を探る。

回答

PynamoDB をローカルで利用する場合であっても、botocore に何らかの初期化を行う必要がある。 これができない場合、上記のエラーが発生する。

具体的には、以下のページで定義されている環境変数の指定、あるいは、デフォルトで読み込むクレデンシャルファイルが存在している必要がある。

そのため、例えば、以下のような dummy を作成して、これを Docker コンテナの実行ユーザー以下の ~/.aws/credentials にマウントすれば動作するようになる。

dummy_credentials
[default]
aws_access_key_id = dummy
aws_secret_access_key = dummy
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?