2017-03-09 6 views
0

Ein kleines Beispiel kann auf hier zu sehen, wie batch_get_itemWie kann ich eine Variable richtig in diese boto3 batch_get_item Funktion übergeben?

für hart codierte Werte passieren in

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

und die Dokumentation ist hier

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

aber ich kann kaum glauben, das ist, wie Ein erfahrener Python-Benutzer würde Schlüssel an die Funktion übergeben. Ist es möglich, eine Liste von Strings (IDs) in das Keys-Array einzutragen und wie wird das gemacht?

Antwort

0

Sie könnten ein Listenverständnis verwenden, um den Wert zu erstellen, der an batch_get_item als Keys Parameter übergeben werden muss. So etwas wie dies funktionieren würde:

# 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 
     } 
    } 
) 

Wenn keys einen Wert von ['foo', 'bar', 'fie', 'baz'] der Wert keys im Code hatte oben wäre:

[{'primary_key': {'S': 'foo'}}, 
{'primary_key': {'S': 'bar'}}, 
{'primary_key': {'S': 'fie'}}, 
{'primary_key': {'S': 'baz'}}] 
Verwandte Themen