aws apiをcallする時はkwargsを使う
- Tue
- 22:39
- python
aws apiをcallしているサンプルをネット調べるとif ~ else ~ で関数本体を切り分けてるものがあります。
方法としてはあまり良くないので実際には公式のBoto3 documentationにあるようにkwargsを使うようにします。
具体的には、複数件の結果を取得するlistやgetなんかでnexttoken(次ページみたいなもの)がある場合。
コードとしては分かりやすい。
list_rolesは、Markerを使用。
「python 可変長引数」等で検索するといろいろ出てくる。
方法としてはあまり良くないので実際には公式のBoto3 documentationにあるようにkwargsを使うようにします。
具体的には、複数件の結果を取得するlistやgetなんかでnexttoken(次ページみたいなもの)がある場合。
ネットでよくある例
https://qiita.com/chii-08/items/8912a312e83666912809コードとしては分かりやすい。
if next_token is not None and next_token != '': response = client.describe_log_groups( limit=50, nextToken=next_token ) else: response = client.describe_log_groups(limit=50)
kwargsを使う例
次ページ取得は、APIによってNextTokenやMarkerの場合など異なるのでややこしい。list_rolesは、Markerを使用。
kwargs = {"PathPrefix": "/"} if marker: kwargs["Marker"] = marker roles = client.list_roles(**kwargs)
「python 可変長引数」等で検索するといろいろ出てくる。