かべぎわブログ

凄腕エンジニアのブログです

Python(boto3)でAWSCLIとおなじかんじでprofileをわたしてあげる

概要

PythonとAWSCLIをいったりきたりしていて、profileのわたしかたに統一性がなくて(特にPythonは作った人によって全然違ったりして)めんどくさいなあと思っていたのでそれらを解決できるようなものを書いた。

Pythonでも--profileをわたして実行させることができる。
AWSCLIの方に寄せるアプローチなのです。

コード

こんなかんじ。
profileが渡せているよという例としてget_caller_identityしている。

実行してみる

こんなかんじ。
--profileでわたしたconfigの値のロールでget_caller_identityしていることがわかる。

$ python ./profile.py --profile wawawa_test_role
arn:aws:sts::123456789012:assumed-role/wawawa_test_role/botocore-session-1569332255

なにも引数をわたさないとdefaultでうごきます。

$ python ./profile.py
arn:aws:iam::123456789012:user/kabegiwa

--helpでヘルプがみれます。

$ python ./profile.py --help
usage: profile.py [-h] [--profile [PROFILE]]

optional arguments:
  -h, --help           show this help message and exit
  --profile [PROFILE]  Use a specific profile from your credential file.

おわりに

sys.argvとかよりもかっこいいきがする


Amazon Web Services 定番業務システム14パターン 設計ガイド

Amazon Web Services 定番業務システム14パターン 設計ガイド