boto dynamodb batch_write et delete_item — 'La condition élément clé ne correspond pas au schéma"

Je suis en train de supprimer un grand nombre d'éléments dans une table DynamoDB à l'aide de boto et python. Ma Table est mis en place avec la clé primaire comme un ID de périphérique (pense que l'adresse MAC.) Il y a plusieurs entrées dans la table pour chaque ID de l'appareil, comme la clé secondaire est un timestamp UNIX.

De ma lecture de ce code devrait fonctionner:

from boto.dynamodb2.table import Table

def delete_batch(self, guid):    
    table = Table('Integers')

    with table.batch_write() as batch:
        batch.delete_item(Id=guid)

Source: http://docs.pythonboto.org/en/latest/dynamodb2_tut.html#batch-writing

Toutefois il renvoie 'La condition élément clé ne correspond pas au schéma" comme le message d'erreur.

Je soupçonne que le problème est que guid n'est pas unique dans ma table.

Étant donné que, est-il moyen de supprimer plusieurs éléments avec la même clé primaire sans spécifier la clé secondaire?

Qu'est-ce que votre Integers schéma?
{"Id" : chaîne de caractères, "Date" : "Temp" : nombre, "Probenum" : nombre} Primaire Clé de Hachage: Id (String) Plage Principale Clé: Date (Nombre)
Votre lot de demande ne correspond pas au schéma, en effet. Merci de regarder cette question pour trouver des solutions possibles:what-is-the-recomended-way-to-delete-a-large-number-of-items-from-dynamodb.

OriginalL'auteur Matt Manuel | 2014-02-16