aws apiをcallする時はkwargsを使う

aws apiをcallしているサンプルをネット調べるとif ~ else ~ で関数本体を切り分けてるものがあります。
方法としてはあまり良くないので実際には公式の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 可変長引数」等で検索するといろいろ出てくる。



関連記事

Comment

(編集・削除用)
管理者にだけ表示を許可

Trackback

URL
https://nosource.blog.fc2.com/tb.php/197-586841fa
この記事にトラックバック(FC2Blog User)

カテゴリ

Amazon

アクセスランキング

[ジャンルランキング]
コンピュータ
249位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
38位
アクセスランキングを見る>>

RSSリンクの表示

ブロとも申請フォーム

Copyright © nopgm