マイライブラリには、任意のAWS-のIoTアカウントに接続する必要があるので、私はAWSクライアントをインスタンス化するとき、私は必要な資格情報を渡している:boto3 AWSクライアントが引数を無視していますか?
client = boto3.client('iot',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,...)
boto3ドキュメント(以下抜粋)によると、資格情報が渡されましたこの方法では、他のすべての資格情報を上書きする必要がありますしかし、この呼び出しはBoto3から次のログメッセージを生成します。
"Found credentials in shared credentials file: ~/.aws/credentials"
私は本当には、ユーザーが自分のシステム上で設定されているために起こるたかもしれないものは何でも資格情報boto3ピックアップしたくない- 私はそれだけで使いたいです私はboto3.client()に渡しているものです。どのようにこれを確保するためのアイデア?
boto3ドキュメントの抜粋:私のテストから、
The order in which Boto3 searches for credentials is:
1. Passing credentials as parameters in the boto.client() method
2. Passing credentials as parameters when creating a Session object
3. Environment variables
4. Shared credential file (~/.aws/credentials)
5. AWS config file (~/.aws/config)
6. Assume Role provider
7. Boto2 config file (/etc/boto.cfg and ~/.boto)
8. Instance metadata service on an Amazon EC2 instance that has an IAM role configured.
アクセスキーと秘密鍵が有効であることを確認してください。 – mootmoot