2017-03-09 19 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用戶會把鍵傳遞給函數。是否有可能將一個字符串列表(id)傳入Keys數組,以及這是如何完成的?

回答

0

您可以使用列表理解創建需要作爲Keys參數傳遞給batch_get_item的值。像這樣的東西會工作:

# 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過的['foo', 'bar', 'fie', 'baz']值的keys在代碼中值之上將是:

[{'primary_key': {'S': 'foo'}}, 
{'primary_key': {'S': 'bar'}}, 
{'primary_key': {'S': 'fie'}}, 
{'primary_key': {'S': 'baz'}}] 
相關問題