

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.

# Anfragen für Amazon EC2 abfragen
<a name="Query-Requests"></a>

Abfrageanfragen sind HTTP- oder HTTPS-Anfragen, die das HTTP-Verb GET oder POST und einen Abfrageparameter mit dem Namen verwenden. `Action` Für jede Amazon EC2 EC2-API-Aktion können Sie wählen, ob Sie GET oder POST verwenden möchten. Unabhängig davon, welches Verb Sie wählen, werden dieselben Daten gesendet und empfangen. Eine Liste der Amazon EC2 EC2-API-Aktionen finden Sie unter [Aktionen](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/query-apis.html).

**Topics**
+ [Struktur einer GET-Anforderung](#structure-of-a-get-request)
+ [Abfrageparameter](#query-parameters)
+ [API-Authentifizierung abfragen](#query-authentication)
+ [Antwortstrukturen abfragen](#api-responses)
+ [Paginierung](#api-pagination)
+ [Anfragen über HTTP verhindern](#prevent-http-requests)

## Struktur einer GET-Anforderung
<a name="structure-of-a-get-request"></a>

In der Amazon EC2 EC2-Dokumentation werden die GET-Anfragen als URLs dargestellt, die direkt in einem Browser verwendet werden können.

**Anmerkung**  
Da es sich bei den GET-Anfragen um URLs handelt, müssen Sie die Parameterwerte URL-kodieren. In der Amazon EC2 EC2-Dokumentation lassen wir die GET-Beispielanfragen unverschlüsselt, damit sie leichter lesbar sind.

Die Anfrage besteht aus den folgenden Teilen:
+ **Endpunkt**: Die URL, die als Einstiegspunkt für den Webdienst dient. Weitere Informationen finden Sie unter [Amazon EC2 Service Endpoints](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-endpoints.html).
+ **Aktion**: Die Aktion, die Sie ausführen möchten, z. B. `RunInstances` zum Starten einer Instance.
+ **Parameter**: Alle Parameter für die Aktion; jeder Parameter wird durch ein Und-Zeichen (&) getrennt.
+ **Version**: Die zu verwendende API-Version. Für die Amazon EC2 EC2-API ist die Version 2016-11-15.
+ **Autorisierungsparameter**: Die Autorisierungsparameter, die AWS verwendet werden, um die Gültigkeit und Authentizität der Anfrage sicherzustellen. Amazon EC2 unterstützt Signature Version 2 und Signature Version 4. Wir empfehlen, Signature Version 4 zu verwenden. Weitere Informationen finden Sie im *IAM-Benutzerhandbuch* unter [AWS API-Anfragen signieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html).

Die folgenden optionalen Parameter können in Ihre Anfrage aufgenommen werden:
+ **DryRun**: Prüft, ob Sie über die erforderlichen Berechtigungen für die Aktion verfügen, ohne die Anfrage tatsächlich zu stellen. Wenn Sie über die erforderlichen Berechtigungen verfügen, wird die Anfrage zurückgegeben. `DryRunOperation` Andernfalls kehrt sie zurück`UnauthorizedOperation`.
+ **SecurityToken**: Das temporäre Sicherheitstoken, das durch einen Aufruf von abgerufen wurde AWS -Security-Token-Service.

Weitere Informationen zu allgemeinen Parametern für API-Anfragen finden Sie unter [Allgemeine Abfrageparameter](https://docs.aws.amazon.com//AWSEC2/latest/APIReference/CommonParameters.html).

Im Folgenden finden Sie eine Beispielanforderung, mit der Instances gestartet werden:

```
https://ec2.amazonaws.com/?Action=RunInstances&ImageId=ami-2bb65342&MaxCount=3&MinCount=1&Placement.AvailabilityZone=us-east-1a&Monitoring.Enabled=true&Version=2016-11-15&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20130813%2Fus-east-1%2Fec2%2Faws4_request&X-Amz-Date=20130813T150206Z&X-Amz-SignedHeaders=content-type%3Bhost%3Bx-amz-date&X-Amz-Signature=525d1a96c69b5549dd78dbbec8efe264102288b83ba87b7d58d4b76b71f59fd2
Content-type: application/json
host:ec2.amazonaws.com
```

Damit diese Beispielanfragen noch leichter lesbar sind, können sie in der AWS Dokumentation im folgenden Format dargestellt werden:

```
https://ec2.amazonaws.com/?Action=RunInstances
&ImageId=ami-2bb65342
&MaxCount=3
&MinCount=1
&Placement.AvailabilityZone=us-east-1a
&Monitoring.Enabled=true
&Version=2016-11-15
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAIOSFODNN7EXAMPLEus-east-1%2Fec2%2Faws4_request
&X-Amz-Date=20130813T150206Z
&X-Amz-SignedHeaders=content-type%3Bhost%3Bx-amz-date
&X-Amz-Signature=ced6826de92d2bdeed8f846f0bf508e8559e98e4b0194b84example54174deb456c
Content-type: application/json
host:ec2.amazonaws.com
```

Die erste Zeile gibt den Endpunkt der Anfrage an. Nach dem Endpunkt folgt ein Fragezeichen (?), das den Endpunkt von den Parametern trennt. Weitere Informationen zu Amazon EC2-Endpunkten finden Sie unter [Amazon EC2-Service](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-endpoints.html) Endpoints. 

Der Parameter `Action` gibt die auszuführende Aktion an. [Eine vollständige Liste der Aktionen finden Sie unter Aktionen.](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/query-apis.html) In den verbleibenden Zeilen werden zusätzliche Parameter für die Anforderung angegeben.

In den Beispielabfrageanfragen, die wir in der Amazon EC2 EC2-API-Dokumentation präsentieren, lassen wir die Header, [häufig erforderlichen Parameter](https://docs.aws.amazon.com//AWSEC2/latest/APIReference/CommonParameters.html) und Authentifizierungsparameter weg, damit Sie sich leichter auf die Parameter für die Aktion konzentrieren können. Wir ersetzen sie durch die `&AUTHPARAMS` wörtliche Zeichenfolge, um Sie daran zu erinnern, dass Sie diese Parameter in Ihre Anfrage aufnehmen müssen. Zum Beispiel:

```
https://ec2.amazonaws.com/?Action=RunInstances
&ImageId=ami-2bb65342
&MaxCount=3
&MinCount=1
&Placement.AvailabilityZone=us-east-1a
&Monitoring.Enabled=true
&AUTHPARAMS
```

**Wichtig**  
Bevor Sie Ihre Zugriffsschlüssel-ID für den `Credential` Parameter `AWSAccessKeyId` oder angeben, lesen und befolgen Sie die Anweisungen unter [AWS Sicherheitsnachweise](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html).

## Abfrageparameter
<a name="query-parameters"></a>

Jede Abfrageanforderung muss die erforderlichen gemeinsamen Parameter für die Authentifizierung und Auswahl einer Aktion enthalten. Bei Abfrageparametern wird Groß- und Kleinschreibung beachtet.

Einige Operationen verwenden Parameterlisten. Diese Listen werden in der Notation *param.n* angegeben, wobei *n* eine Ganzzahl ist, die bei 1 beginnt. 

Im folgenden Beispiel werden mithilfe einer Liste von Parametern mehrere Geräte zu einer Blockgerätezuordnung hinzugefügt. `BlockDeviceMapping`

```
http://ec2.amazonaws.com/?Action=RunInstances
&ImageId.1=ami-72aa081b
...
&BlockDeviceMapping.1.DeviceName=/dev/sdj
&BlockDeviceMapping.1.Ebs.NoDevice=true
&BlockDeviceMapping.2.DeviceName=/dev/sdh
&BlockDeviceMapping.2.Ebs.VolumeSize=300
&BlockDeviceMapping.3.DeviceName=/dev/sdc
&BlockDeviceMapping.3.VirtualName=ephemeral1
&AUTHPARAMS
```

## API-Authentifizierung abfragen
<a name="query-authentication"></a>

Sie können Query-Anfragen entweder über das HTTP- oder das HTTPS-Protokoll senden.

Unabhängig davon, welches Protokoll Sie verwenden, müssen Sie jeder Query-Anfrage eine Signatur hinzufügen. Amazon EC2 unterstützt Signature Version 2 und Signature Version 4. Wir empfehlen, Signature Version 4 zu verwenden. Weitere Informationen finden Sie im *IAM-Benutzerhandbuch* unter [AWS API-Anfragen signieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html).

Mit Signature Version 4-Anfragen können Sie alle Autorisierungsparameter in einem einzigen Header angeben, zum Beispiel:

```
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Amz-Date: 20130813T150211Z
Host: ec2.amazonaws.com
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/202230813/us-east-1/ec2/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ced6826de92d2bdeed8f846f0bf508e8559e98e4b0194b84example54174deb456c

http://ec2.amazonaws.com/?Action=RunInstances
ImageId=ami-2bb65342
&MaxCount=3
&MinCount=1
&Monitoring.Enabled=true
&Placement.AvailabilityZone=us-east-1a
&Version=2016-11-15
```

## Antwortstrukturen abfragen
<a name="api-responses"></a>

Als Antwort auf eine Query-Anfrage gibt der Service eine XML-Datenstruktur zurück, die einem für Amazon EC2 definierten XML-Schema entspricht. Die Struktur einer XML-Antwort ist spezifisch für die zugehörige Anfrage. Im Allgemeinen werden die Antwortdatentypen nach dem ausgeführten Vorgang benannt und danach, ob es sich bei dem Datentyp um einen Container handelt (kann untergeordnete Elemente enthalten). Zu den Containern gehören `groupSet` beispielsweise Sicherheitsgruppen und `keySet` Schlüsselpaare (siehe das folgende Beispiel). Elementelemente sind untergeordnete Elemente von Containern, und ihr Inhalt hängt von der Rolle des Containers ab.

Jede erfolgreiche Antwort enthält eine Anforderungs-ID in einem `requestId` Element, und jede erfolglose Antwort enthält eine Anforderungs-ID in einem `RequestID` Element. Der Wert ist eine eindeutige Zeichenfolge, die AWS zugewiesen wird. Wenn Sie jemals Probleme mit einer bestimmten Anfrage haben, AWS werden Sie nach der Anfrage-ID gefragt, um das Problem zu beheben. Im Folgenden finden Sie ein Beispiel für eine Antwort.

```
<DescribeKeyPairsResponse xmlns="http://ec2.amazonaws.com/doc/2016-11-15/">
  <requestId>7a62c49f-347e-4fc4-9331-6e8eEXAMPLE</requestId>
  <keySet>
    <item>
      <keyName>gsg-keypair</keyName>
      <keyFingerprint>
         00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
      </keyFingerprint>
    </item>
  </keySet>
</DescribeKeyPairsResponse>
```

**Überlegungen**
+ Ab dem 31. Juli 2024 enthalten die XML-Datenstrukturen in den Antworten für alle neuen Amazon EC2 EC2-API-Aktionen oder neu unterstützten AWS Regionen keine neuen Zeilen und Einrückungen. Wenn Sie einen benutzerdefinierten Client verwenden, stellen Sie sicher, dass dieser nicht auf die Antworten, einschließlich neuer Zeilen und Einrückungen, angewiesen ist.
+ Ab dem 31. Juli 2025 werden die XML-Datenstrukturen in den Antworten keine neuen Zeilen und Einrückungen mehr enthalten. Diese Änderung wird die Größe der Antworten reduzieren. Wenn Sie einen benutzerdefinierten Client verwenden, stellen Sie sicher, dass dieser nicht auf die Antworten, einschließlich neuer Zeilen und Einrückungen, angewiesen ist.
+ Die Reihenfolge der Elemente in der Antwort, einschließlich der Elemente innerhalb verschachtelter Strukturen, kann variieren. Anwendungen sollten nicht davon ausgehen, dass die Elemente in einer bestimmten Reihenfolge erscheinen.

## Paginierung
<a name="api-pagination"></a>

Für Aktionen, die eine lange Liste von Elementen zurückgeben können, enthält die Amazon EC2 EC2-API Parameter zur Unterstützung der Paginierung:`MaxResults`, `NextToken` (Eingabe) und `nextToken` (Ausgabe). Bei der Seitennummerierung geben Sie eine Größe für an, `MaxResults` und dann gibt jeder Aufruf 0 für `MaxResults` Elemente und Sätze zurück. `nextToken` Wenn es weitere Elemente gibt, die iteriert werden müssen, `nextToken` ist dieser Wert ungleich Null und Sie können seinen Wert im `NextToken` Parameter eines nachfolgenden Aufrufs angeben, um den nächsten Satz von Elementen abzurufen. Bei der Paginierung rufen Sie die Aktion so lange auf, bis der Wert Null `nextToken` ist, auch wenn Sie weniger als `MaxResults` Elemente erhalten, einschließlich Null.

Wenn Sie eine Describe-API-Aktion sowohl mit einer Liste von IDs als auch aufrufen`MaxResults`, schlägt die Anfrage mit dem Fehler `InvalidParameterCombination` fehl.

Wir empfehlen, die Paginierung zu verwenden, wenn Sie Beschreibungsaktionen verwenden, die potenziell zu einer großen Anzahl von Ergebnissen führen können, z. B. `DescribeInstances` Durch die Paginierung werden die Anzahl der zurückgegebenen Elemente und die Zeit, die benötigt wird, bis diese Aufrufe zurückgegeben werden, begrenzt.

Weitere Informationen finden Sie unter [Pagination](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-pagination.html) im *Amazon EC2 Developer Guide*.

## Anfragen über HTTP verhindern
<a name="prevent-http-requests"></a>

Wenn Ihr Workload nicht erfordert, dass Sie HTTP verwenden, empfehlen wir, es nicht zu verwenden, um das Senden und Empfangen unverschlüsselter Daten zu verhindern, und stattdessen HTTPS zu verwenden. Sie können den [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-securetransport](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-securetransport)globalen IAM-Bedingungsschlüssel in Ihren IAM-Richtlinien verwenden, um zu verhindern, dass Benutzer Anfragen über HTTP senden.

Die folgende Beispielrichtlinie verhindert, dass Benutzer Anfragen über HTTP senden.

```
{
    "Statement": [
        {
            "Sid": "AllowAllEC2HttpsRequests",
            "Effect": "Allow",
            "Action": "ec2:*",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "aws:SecureTransport": "true"
                }
            }
        }
    ]
}
```