Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
PutItem
Wichtig
Dieser Abschnitt bezieht sich auf die veraltete API-Version 2011-12-05, die nicht für neue Anwendungen verwendet werden sollte.
Eine Dokumentation zur aktuellen Low-Level-API finden Sie in der Amazon DynamoDB-API-Referenz.
Beschreibung
Erstellt ein neues Element oder ersetzt ein altes durch ein neues Element (einschließlich aller Attribute). Wenn ein Element in der angegebenen Tabelle mit demselben Primärschlüssel bereits vorhanden ist, wird das vorhandene vollständig durch das neue Element ersetzt. Sie können eine bedingte PUT-Transaktion ausführen (ein neues Element einfügen, wenn keins mit dem angegebenen Primärschlüssel vorhanden ist) oder ein vorhandenes Element ersetzen, wenn es bestimmte Attributwerte besitzt.
Attributwerte dürfen nicht Null sein, Zeichenketten- und Binärtypattribute müssen Längen haben, die größer als Null sind, und festgelegte Typattribute dürfen nicht leer sein. Anfragen mit leeren Werten werden mit einer ValidationException
abgelehnt.
Anmerkung
Um sicherzustellen, dass ein vorhandenes nicht durch ein neues Element ersetzt wird, verwenden Sie eine bedingte PUT-Operation, wobei Exists
für das bzw. die Primärschlüsselattribute auf false
festgelegt wird.
Weitere Informationen zur Verwendung von PutItem
finden Sie unter Arbeiten mit Elementen und Attributen in DynamoDB.
Anforderungen
Syntax
// This header is abbreviated. // For a sample of a complete header, see DynamoDB auf niedriger Ebene API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.PutItem content-type: application/x-amz-json-1.0 {"TableName":"Table1", "Item":{ "AttributeName1":{"S":"AttributeValue1"}, "AttributeName2":{"N":"AttributeValue2"}, "AttributeName5":{"B":"dmFsdWU="} }, "Expected":{"AttributeName3":{"Value": {"S":"AttributeValue"}, "Exists":Boolean}}, "ReturnValues":"ReturnValuesConstant"}
Name | Beschreibung | Erforderlich |
---|---|---|
TableName
|
Der Name der Tabelle, die das Element enthält. Typ: Zeichenfolge |
Ja |
Item
|
Eine Übersicht über die Attribute für das Element, die die Primärschlüsselwerte zur Definition des Elements enthalten muss. Andere Attribut-Namen-Wert-Paare können für das Element bereitgestellt werden. Weitere Informationen zu Primärschlüsseln finden Sie unter Primärschlüssel. Typ: Zuweisung von Attributnamen und zu Attributwerten. |
Ja |
Expected
|
Gibt ein Attribut für eine bedingte PUT-Operation an. Der Parameter Typ: Zuweisung eines Attributnamens zu einem Attributwert und ob er vorhanden ist. |
Nein |
Expected:AttributeName
|
Der Name des Attributs für die bedingte Put-Operation. Typ: Zeichenfolge |
Nein |
Expected:AttributeName: ExpectedAttributeValue |
Verwenden Sie diesen Parameter, um anzugeben, ob ein Wert für das Attributname-Wert-Paar bereits vorhanden ist oder nicht. Die folgende JSON-Notation ersetzt das Element, wenn das Attribut "Farbe" für dieses Element noch nicht vorhanden ist:
Die folgende JSON-Notation prüft, ob das Attribut mit dem Namen "Farbe" über einen vorhandenen "Gelb"-Wert verfügt, bevor das Element ersetzt wird:
Wenn Sie den Parameter
AnmerkungWenn Sie |
Nein |
ReturnValues
|
Verwenden Sie diesen Parameter, wenn Sie die Attribut-Namen-Wert-Paare erhalten möchten, bevor sie mit der Typ: Zeichenfolge |
Nein |
Antworten
Syntax
In dem folgenden Syntax-Beispiel wird davon ausgegangen, dass die Anforderung für den Parameter ReturnValues
ALL_OLD
angegeben hat; andernfalls beinhaltet die Antwort nur das ConsumedCapacityUnits
-Element.
HTTP/1.1 200 x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 content-type: application/x-amz-json-1.0 content-length: 85 {"Attributes": {"AttributeName3":{"S":"AttributeValue3"}, "AttributeName2":{"SS":"AttributeValue2"}, "AttributeName1":{"SS":"AttributeValue1"}, }, "ConsumedCapacityUnits":1 }
Name | Beschreibung |
---|---|
Attributes
|
Attributwerte vor der PUT-Operation, aber nur wenn der Parameter Typ: Zuordnung von Attribut-Namen-Wert-Paare. |
ConsumedCapacityUnits |
Die Anzahl der Schreibkapazitätseinheiten, die von dem Vorgang verbraucht werden. Dieser Wert zeigt die Anzahl, die für Ihren bereitgestellten Durchsatz gültig ist. Weitere Informationen finden Sie unter Bereitgestellter Kapazitätsmodus von DynamoDB. Typ: Zahl |
Spezielle Fehler
Fehler | Beschreibung |
---|---|
ConditionalCheckFailedException
|
Bedingte Prüfung fehlgeschlagen. Ein erwarteter Attributwert wurde nicht gefunden. |
ResourceNotFoundException
|
Das angegebene Element oder Attribut wurde nicht gefunden. |
Beispiele
Beispiele für die Verwendung des AWS SDK finden Sie unterArbeiten mit Elementen und Attributen in DynamoDB.
Beispielanforderung
// This header is abbreviated. For a sample of a complete header, see DynamoDB auf niedriger Ebene API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.PutItem content-type: application/x-amz-json-1.0 {"TableName":"comp5", "Item": {"time":{"N":"300"}, "feeling":{"S":"not surprised"}, "user":{"S":"Riley"} }, "Expected": {"feeling":{"Value":{"S":"surprised"},"Exists":true}} "ReturnValues":"ALL_OLD" }
Beispielantwort
HTTP/1.1 200 x-amzn-RequestId: 8952fa74-71e9-11e0-a498-71d736f27375 content-type: application/x-amz-json-1.0 content-length: 84 {"Attributes": {"feeling":{"S":"surprised"}, "time":{"N":"300"}, "user":{"S":"Riley"}}, "ConsumedCapacityUnits":1 }