AWS SDKがPythonのJupyter上でインストールできない
解決したいこと
「使ってわかったAWSのAI」という書籍を進めているのですがAWS SDKがインストールできません。
環境はpythonのJupyterです。
やりたいことはAWSのAIの学習をする前段階としてSDKをダウンロードしたいです。
IAMにて事前に対象のアクセス権を付与したアカウントを作成してIDとKEYをローカルの「Users/<ユーザー名>」に以下のフォーマットで「credentials」という名前で保存しろと指定されたので保存しました。
使用しているクライアントはmacbook pro 2020 M1です。
エラーを見ると「signature」が違うと言っているようなのでこの「credentials」のファイルが間違っているのかな?とも思いましたが、I DとKEYはコピペしているので間違っていないはずです。
そもそもこの「credentials」ファイルがどのように認証に使われているのかの説明がなかったのでそれがわかれば解決の手掛かりになるかもしれないのでそれだけでも教えていただけると助かります。
さらにAWSで対象ポリシーをアタッチしたユーザーの指定などもしていないようですが、どのように対象ユーザーを識別しているのかも教えていただけると助かります。
もし私の勘違いしており、ユーザーや「credentials」のファイルはまだここでは関係なければ教えてください。
解決策ではなく憶測などでも良いので助けていただけると助かります。
[default]
aws_access_key_id = AK**************************
aws_secret_access_key = UC0p******************************
発生している問題・エラー
---------------------------------------------------------------------------
ClientError Traceback (most recent call last)
<ipython-input-6-e72cca7ea9ce> in <module>
2
3 client = boto3.client('s3', region_name='ap-northeast-1')
----> 4 client.list_buckets()
~/opt/anaconda3/lib/python3.8/site-packages/botocore/client.py in _api_call(self, *args, **kwargs)
355 "%s() only accepts keyword arguments." % py_operation_name)
356 # The "self" in this scope is referring to the BaseClient.
--> 357 return self._make_api_call(operation_name, kwargs)
358
359 _api_call.__name__ = str(py_operation_name)
~/opt/anaconda3/lib/python3.8/site-packages/botocore/client.py in _make_api_call(self, operation_name, api_params)
674 error_code = parsed_response.get("Error", {}).get("Code")
675 error_class = self.exceptions.from_code(error_code)
--> 676 raise error_class(parsed_response, operation_name)
677 else:
678 return parsed_response
ClientError: An error occurred (SignatureDoesNotMatch) when calling the ListBuckets operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.
該当するソースコード
client = boto3.client('s3', region_name='ap-northeast-1')
client.list_buckets()
このコードの前には以下のコードを実行しましたが問題なく完了しました。
!pip install --upgrade boto3