2017-03-09 32 views
0

小さな例はbatch_get_itemこのboto3 batch_get_item関数に変数を正しく渡すにはどうしたらいいですか?

Is there a Python API for submitting batch get requests to AWS DynamoDB?

用のハードコードされた値を渡す方法についてはここで見ることができ、ドキュメントはここ

http://boto3.readthedocs.io/en/latest/reference/services/dynamodb.html#DynamoDB.Client.batch_get_item

ですが、私はほとんど、これはどのようにあると信じてすることはできません経験豊富なPythonユーザはキーを関数に渡します。文字列(ids)のリストをKeys配列に渡すことは可能ですか?それはどのように行われますか?

答えて

0

batch_get_itemに渡す必要がある値をリスト内包表記を使用してKeysパラメータとして使用できます。このような何かが働くだろう:['foo', 'bar', 'fie', 'baz']の値を持っていた

# assume ids is a list of strings representing the ids you want to retrieve 
# also assume that the primary key is called primary_key 
keys = [{'primary_key': {'S': i}} for i in ids] 
db_client.batch_get_item(
    RequestItems = { 
     "my_table": { 
      "Keys": keys 
     } 
    } 
) 

keys場合は、コード内keysの値は上記のようになります。

[{'primary_key': {'S': 'foo'}}, 
{'primary_key': {'S': 'bar'}}, 
{'primary_key': {'S': 'fie'}}, 
{'primary_key': {'S': 'baz'}}] 
関連する問題