

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
<a name="API_PutItem_v20111205"></a>

**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](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/).**

## Beschreibung
<a name="API_PutItem_Description"></a>

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](WorkingWithItems.md).

## Anforderungen
<a name="API_PutItem_RequestParameters"></a>

### Syntax
<a name="API_PutItem_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see DynamoDB Low-Level-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](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Typ: Zuweisung von Attributnamen und zu Attributwerten. | Ja | 
| Expected  | Gibt ein Attribut für eine bedingte PUT-Operation an. Der Parameter `Expected` erlaubt es Ihnen, einen Attributnamen anzugeben und festzulegen, ob DynamoDB überprüfen soll, ob der Attributwert bereits vorhanden ist bzw. ob der Attributwert vorhanden ist und über einen bestimmten Wert verfügt, bevor er geändert wird.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:<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>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: <pre>"Expected" : <br />	{"Color":{"Exists":true,{"Value":{"S":"Yellow"}}}</pre>Wenn Sie den Parameter `Expected` verwenden und einen `Value` angeben, geht DynamoDB standardmäßig davon aus, dass das Attribut vorhanden ist und einen zu ersetzenden aktuellen Wert hat. Sie müssen `{"Exists":true}` demnach nicht angeben, weil er enthalten ist. Sie können die Anforderung verkürzen, um:<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> Wenn Sie `{"Exists":true}` ohne einen zu prüfenden Attributwert angeben, gibt DynamoDB einen Fehler zurück.  | Nein | 
| ReturnValues  | Verwenden Sie diesen Parameter, wenn Sie die Attribut-Namen-Wert-Paare erhalten möchten, bevor sie mit der `PutItem`-Anforderung aktualisiert wurden. Mögliche Parameterwerte sind `NONE` (Standard) oder `ALL_OLD`. Wenn `ALL_OLD` angegeben ist und ein Attribut-Namen-Wert-Paar durch `PutItem` überschrieben wurde, wird der Inhalt des alten Elements zurückgegeben. Wenn dieser Parameter nicht angegeben wird oder `NONE` ist, wird nichts zurückgegeben.**Typ:** Zeichenfolge | Nein | 

## Antworten
<a name="API_PutItem_CommonResponseElements"></a>

### Syntax
<a name="API_PutItem_CommonResponseElements.syntax"></a>

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 `ReturnValues` in der Anforderung mit `ALL_OLD` angegeben wird.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 [DynamoDB – Modus mit bereitgestellter Kapazität](provisioned-capacity-mode.md). Typ: Zahl | 

## Spezielle Fehler
<a name="API_PutItem_SpecialErrors"></a>


****  

|  Fehler  |  Beschreibung  | 
| --- | --- | 
|  ConditionalCheckFailedException  | Bedingte Prüfung fehlgeschlagen. Ein erwarteter Attributwert wurde nicht gefunden.  | 
| ResourceNotFoundException  | Das angegebene Element oder Attribut wurde nicht gefunden. | 

## Beispiele
<a name="API_PutItem_Examples"></a>

Beispiele für die Verwendung des AWS SDK finden Sie unter [Arbeiten mit Elementen und Attributen in DynamoDB](WorkingWithItems.md).

### Beispielanforderung
<a name="API_PutItem_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB Low-Level-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
<a name="API_PutItem_Examples_Response"></a>

```
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
}
```

## Zugehörige Aktionen
<a name="API_PutItem_Related_Actions"></a>
+  [UpdateItem](API_UpdateItem_v20111205.md) 
+  [DeleteItem](API_DeleteItem_v20111205.md) 
+  [GetItem](API_GetItem_v20111205.md) 
+  [BatchGetItem](API_BatchGetItem_v20111205.md) 