boto dynamodb batch_write und delete_item — 'Das wesentliche element entspricht nicht dem schema'

Ich versuche zu löschen, eine große Anzahl von Elementen in einer DynamoDB-Tabelle mit boto und python. Meine Tabelle mit dem Primärschlüssel als eine Geräte-ID (glaube die MAC-Adresse.) Gibt es mehrere Einträge in der Tabelle für jedes der Geräte-ID, die als sekundäre Schlüssel ist ein UNIX-timestamp.

Aus meiner Lektüre, sollte dieser code funktionieren:

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)

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

Aber es gibt 'Das wesentliche element entspricht nicht dem schema' als Fehlermeldung.

Ich vermute, das problem ist, da die guid nicht eindeutig in meiner Tabelle.

Da, ist es Weg, löschen mehrere Artikel mit dem gleichen Primärschlüssel haben, ohne die Angabe der sekundären Schlüssel?

  • Was ist Ihre Integers schema?
  • {"Id" : string, "Datum" : Zahl, "Temp" : Zahl, "Probenum" : Nummer} Primären Hash-Schlüssel: Id (String) Primäre Range-Taste: Datum (Zahl)
  • Ihre batch-Anforderung entspricht nicht dem schema in der Tat. Schauen Sie bitte in dieser Frage für mögliche Lösungen:what-is-the-recomended-way-to-delete-a-large-number-of-items-from-dynamodb.
InformationsquelleAutor Matt Manuel | 2014-02-16
Schreibe einen Kommentar