Comment puis-je la requête DynamoDB2 tableau global index secondaire uniquement à l'aide de boto 2.25.0?

C'est une continuation** de ma quête pour passer de l'ordinaire DynamoDB tables de DynamoDB2 avec Mondial Secondaire Indices.

J'ai donc créé ma table, comme le montre ici puis ajouté les deux éléments suivants:

table.put_item(data={'firstKey': 'key01', 'message': '{"firstKey":"key01", "comments": "mess 1 w/o secondKey"}'})
table.put_item(data={'firstKey': 'key02', 'secondKey':'skey01', 'message': '{"firstKey":"key02", "parentId":"skey01", "comments": "mess 2 w/secondKey"}'})

Ce que je veux faire maintenant est de récupérer des éléments soit par leur (i) unique firstKey valeurs ou (ii) unique secondKey valeurs. Le 1er est facile:

res1 = table.get_item(firstKey='key01')
res1['message']

Je ne peux pas comprendre comment le faire le 2ème. Cela ne fonctionne pas:

res2 = table.get_item(secondKey='skey01')

la production de The provided key element does not match the schema. OK c'est prévu. Quand je fais cela:

res2 = table.query(secondKey='skey01',index='secondKeyIndex')

- Je obtenir You must specify more than one key to filter on.

Alors, comment puis-je le faire fonctionner? Notez que lorsque j'ai la valeur de secondKey d'un article, je ne sais PAS son correspondant firstKey.

=====
Mise à JOUR: Voici un couple d'autres choses que j'ai essayé:

Ce

res2 = table.query(secondKey__eq='skey01',index='secondKeyIndex')

produit

boto.dynamodb2.exceptions.QueryError: You must specify more than one key to filter on.

Dans le bloc ci-dessous, la query déclaration ne produit pas d'erreurs

res2 = table.query(secondKey='skey01',secondKey__eq='skey01',index='secondKeyIndex')
for r in res2:
    print res2['secondKey']

mais la print m'a donné

boto.dynamodb2.exceptions.UnknownFilterTypeError: Operator 'secondKey' from 'secondKey' is not recognized.

OriginalL'auteur I Z | 2014-02-13