

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.

# BatchGetItem
<a name="API_BatchGetItem_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_BatchGetItem_Description"></a>

Die `BatchGetItem`-Operation gibt die Attribute für mehrere Elemente aus verschiedenen Tabellen unter Verwendung ihrer Primärschlüssel zurück. Die maximale Anzahl von Elementen, die für eine einzelne Operation abgerufen werden können, ist 100. Außerdem wird die Anzahl der abgerufenen Elemente durch eine Größenbeschränkung von 1 MB begrenzt. Wenn die Größenbeschränkung der Antwort überschritten wird oder ein Teilergebnis aufgrund einer Überschreitung des bereitgestellten Durchsatzes der Tabelle oder aufgrund eines internen Verarbeitungsfehlers zurückgegeben wird, gibt DynamoDB einen `UnprocessedKeys`-Wert zurück, sodass Sie die Operation mit den nächsten abzurufenden Element wiederholen können. DynamoDB passt die Anzahl von Elementen, die pro Seite zurückgegeben werden, automatisch an, um diese Größenbeschränkung zu erzwingen. Beispiel: Wenn Sie 100 Elemente abrufen möchten, jedes Element aber 50 KB umfasst, gibt das System nur 20 Elemente und einen entsprechenden `UnprocessedKeys`-Wert zurück, damit Sie die nächste Ergebnisseite abrufen können. Wenn Sie möchten, kann Ihre Anwendung eine eigene Logik für die Zusammenstellung der Ergebnisseiten in einem Satz einbeziehen.

Wenn aufgrund eines unzureichenden, bereitgestellten Durchsatzes für die von der Anforderung betroffenen Tabellen keine Elemente verarbeitet werden konnten, gibt DynamoDB einen `ProvisionedThroughputExceededException`-Fehler zurück. 

**Anmerkung**  
Standardmäßig führt `BatchGetItem` „Eventually Consistent“-Lesevorgänge für jede von der Anforderung betroffenen Tabelle aus. Sie können den Parameter `ConsistentRead` für einzelne Tabellen auf `true` einstellen, wenn stattdessen Consistent-Lesevorgänge ausgeführt werden sollen.  
`BatchGetItem` ruft Elemente parallel ab, um Antwortlatenzen zu minimieren.  
Bedenken Sie bei der Entwicklung Ihrer Anwendung, dass DynamoDB nicht sicherstellt, in welcher Reihenfolge die Attribute in der Antwort zurückgegeben werden. Schließen Sie die Primärschlüsselwerte in `AttributesToGet` für die Elemente in Ihrer Anforderung ein, um die Antwort nach Element zu analysieren.   
Wenn die angeforderten Elemente nicht vorhanden sind, wird in der Antwort für diese Elemente nichts zurückgegeben. Anforderungen für nicht vorhandene Elemente verbrauchen je nach Typ des Lesevorgangs die Mindestlesekapazitätseinheiten. Weitere Informationen finden Sie unter [Elementgrößen und -formate in DynamoDB](CapacityUnitCalculations.md).

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

### Syntax
<a name="API_BatchGetItem_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.BatchGetItem 
content-type: application/x-amz-json-1.0 

{"RequestItems":
    {"Table1": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue1"}, "RangeKeyElement":{"N":"KeyValue2"}},
            {"HashKeyElement": {"S":"KeyValue3"}, "RangeKeyElement":{"N":"KeyValue4"}},
            {"HashKeyElement": {"S":"KeyValue5"}, "RangeKeyElement":{"N":"KeyValue6"}}],
        "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]},
    "Table2": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue4"}}, 
            {"HashKeyElement": {"S":"KeyValue5"}}],
        "AttributesToGet": ["AttributeName4", "AttributeName5", "AttributeName6"]
        }
    }
}
```


****  

|  Name  |  Beschreibung  |  Erforderlich | 
| --- | --- | --- | 
|  RequestItems  | Ein Container des Tabellennamens und die entsprechenden Elemente, die nach Primärschlüssel abgerufen werden sollen. Beim Anfordern von Elementen kann jeder Tabellenname nur einmal pro Operation aufgerufen werden.**Typ:** Zeichenfolge Standard: keiner  |  Ja | 
| Table |  Der Name der Tabelle, die die abzurufenden Elemente enthält. Der Eintrag ist einfach eine Zeichenfolge, die eine vorhandene Tabelle ohne Bezeichnung angibt. **Typ:** Zeichenfolge  Standard: keiner   | Ja | 
| Table:Keys  |  Die Primärschlüsselwerte, die die Elemente in der angegebenen Tabelle definieren. Weitere Informationen zu Primärschlüsseln finden Sie unter [Primärschlüssel](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey). Typ: Schlüssel   | Ja | 
| Table:AttributesToGet  |  Array von Attributnamen in der angegebenen Tabelle. Wenn Attributnamen nicht angegeben sind, dann werden alle Attribute zurückgegeben. Wenn einige Attribute nicht gefunden werden, sind sie nicht im Abfrageergebnis enthalten.  Typ: Array   | Nein | 
| Table:ConsistentRead  |  Wenn auf `true` festgelegt, dann wird ein Consistent-Lesevorgang ausgegeben, andernfalls wird Eventually Consistent verwendet. Typ: Boolesch   | Nein | 

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

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

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0 
content-length: 855

{"Responses":
    {"Table1":
        {"Items":
        [{"AttributeName1": {"S":"AttributeValue"},
        "AttributeName2": {"N":"AttributeValue"},
        "AttributeName3": {"SS":["AttributeValue", "AttributeValue", "AttributeValue"]}
        },
        {"AttributeName1": {"S": "AttributeValue"},
        "AttributeName2": {"S": "AttributeValue"},
        "AttributeName3": {"NS": ["AttributeValue", "AttributeValue", "AttributeValue"]}
        }],
    "ConsumedCapacityUnits":1},
    "Table2": 
        {"Items":
        [{"AttributeName1": {"S":"AttributeValue"},
        "AttributeName2": {"N":"AttributeValue"},
        "AttributeName3": {"SS":["AttributeValue", "AttributeValue", "AttributeValue"]}
        },
        {"AttributeName1": {"S": "AttributeValue"},
        "AttributeName2": {"S": "AttributeValue"},
        "AttributeName3": {"NS": ["AttributeValue", "AttributeValue","AttributeValue"]}
        }],
    "ConsumedCapacityUnits":1}
    },
    "UnprocessedKeys":
        {"Table3": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue1"}, "RangeKeyElement":{"N":"KeyValue2"}},
            {"HashKeyElement": {"S":"KeyValue3"}, "RangeKeyElement":{"N":"KeyValue4"}},
            {"HashKeyElement": {"S":"KeyValue5"}, "RangeKeyElement":{"N":"KeyValue6"}}],
        "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]}
        }
}
```


****  

|  Name  |  Beschreibung  | 
| --- | --- | 
| Responses  | Tabellennamen und die entsprechenden Elementattribute aus den Tabellen.Typ: Zuordnung  | 
| Table |  Der Name der Tabelle, die die Elemente enthält. Der Eintrag ist einfach eine Zeichenfolge, die die Tabelle ohne Bezeichnung angibt.**Typ:** Zeichenfolge  | 
| Items  | Container für die Attributnamen und Werte, die mit den Operationsparametern übereinstimmen.Typ: Zuordnung der Attributnamen und ihrer Datentypen und Werte. | 
| ConsumedCapacityUnits | Die Anzahl der Lesekapazitätseinheiten, die für jede Tabelle verbraucht werden. Dieser Wert zeigt die Anzahl, die für Ihren bereitgestellten Durchsatz gültig ist. Anforderungen für nicht vorhandene Elemente verbrauchen je nach Typ des Lesevorgangs die Mindestlesekapazitätseinheiten. Weitere Informationen finden Sie unter [DynamoDB – Modus mit bereitgestellter Kapazität](provisioned-capacity-mode.md). Typ: Zahl | 
| UnprocessedKeys | Enthält ein Array von Tabellen mit den entsprechenden Schlüsseln, die mit der aktuellen Antwort nicht verarbeitet wurden, da das Limit der Antwortgröße möglicherweise erreicht wurde. Der `UnprocessedKeys`-Wert hat das gleiche Format wie ein `RequestItems`-Parameter (sodass der Wert einer folgenden `BatchGetItem`-Operation direkt bereitgestellt werden kann). Weitere Informationen finden Sie unter dem obigen `RequestItems`-Parameter.Typ: Array  | 
| UnprocessedKeys: Table: Keys  | Die Attributwerte des Primärschlüssels, die die Elemente und die den Elementen zugeordneten Attributen definieren. Weitere Informationen zu Primärschlüsseln finden Sie unter [Primärschlüssel](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey).Typ: Array von Attribut-Namen-Wert-Paare.  | 
| UnprocessedKeys: Table: AttributesToGet  |  Attributnamen in der angegebenen Tabelle. Wenn Attributnamen nicht angegeben sind, dann werden alle Attribute zurückgegeben. Wenn einige Attribute nicht gefunden werden, sind sie nicht im Abfrageergebnis enthalten.  Typ: Array von Attributnamen.  | 
| UnprocessedKeys: Table: ConsistentRead  |  Wenn dieser Wert auf `true` festgelegt ist, wird ein Consistent-Lesevorgang für die angegebene Tabelle verwendet, andernfalls ein Eventually Consistent-Lesevorgang. Typ: boolescher Wert.  | 

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


****  

|  Fehler  |  Beschreibung  | 
| --- | --- | 
| ProvisionedThroughputExceededException  | Der maximal zulässige bereitgestellte Durchsatz wurde überschritten.  | 

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

Die folgenden Beispiele zeigen eine HTTP-POST-Anforderung und Antwort mithilfe der BatchGetItem-Operation. Beispiele für die Verwendung des AWS SDK finden Sie unter [Arbeiten mit Elementen und Attributen in DynamoDB](WorkingWithItems.md).

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

Mit dem folgenden Beispiel werden Attribute aus zwei verschiedenen Tabellen angefordert.

```
// 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.BatchGetItem 
content-type: application/x-amz-json-1.0 
content-length: 409

{"RequestItems":
    {"comp1":
        {"Keys":
            [{"HashKeyElement":{"S":"Casey"},"RangeKeyElement":{"N":"1319509152"}},
            {"HashKeyElement":{"S":"Dave"},"RangeKeyElement":{"N":"1319509155"}},
            {"HashKeyElement":{"S":"Riley"},"RangeKeyElement":{"N":"1319509158"}}],
        "AttributesToGet":["user","status"]},
    "comp2":
        {"Keys":
            [{"HashKeyElement":{"S":"Julie"}},{"HashKeyElement":{"S":"Mingus"}}],
        "AttributesToGet":["user","friends"]}
    }
}
```

### Beispielantwort
<a name="API_BatchGetItem_Examples_Response"></a>

Das folgende Beispiel zeigt die Antwort.

```
HTTP/1.1 200 OK
x-amzn-RequestId: GTPQVRM4VJS792J1UFJTKUBVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0 
content-length: 373
Date: Fri, 02 Sep 2011 23:07:39 GMT

{"Responses":
    {"comp1":
        {"Items":
            [{"status":{"S":"online"},"user":{"S":"Casey"}},
            {"status":{"S":"working"},"user":{"S":"Riley"}},
            {"status":{"S":"running"},"user":{"S":"Dave"}}],
        "ConsumedCapacityUnits":1.5},
    "comp2":
        {"Items":
            [{"friends":{"SS":["Elisabeth", "Peter"]},"user":{"S":"Mingus"}},
            {"friends":{"SS":["Dave", "Peter"]},"user":{"S":"Julie"}}],
        "ConsumedCapacityUnits":1}
    },
    "UnprocessedKeys":{}
}
```