

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.

# Abfrage-API-Anfragen mithilfe des AWS Abfrageprotokolls in Amazon SQS stellen
<a name="sqs-making-api-requests-xml"></a>

In diesem Thema wird erklärt, wie Sie einen Amazon SQS SQS-Endpunkt erstellen, GET- und POST-Anfragen stellen und Antworten interpretieren.

## Erstellen eines Endpunkts
<a name="sqs-api-constructing-endpoints"></a>

Für die Arbeit mit Amazon-SQS-Warteschlangen müssen Sie einen Endpunkt erstellen. Informationen zu Amazon-SQS-Endpunkten finden Sie auf den folgenden Seiten im *Allgemeine Amazon Web Services-Referenz*:
+ [Regionale Endpunkte](https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region)
+ [Endpunkte und Kontingente von Amazon Simple Queue Service](https://docs.aws.amazon.com/general/latest/gr/sqs-service)

Jeder Amazon-SQS-Endpunkt ist unabhängig. Wenn z. B. bei zwei Warteschlangen mit dem identischen Namen *MyQueue* eine über Endpunkt `sqs.us-east-2.amazonaws.com` und die andere über Endpunkt `sqs.eu-west-2.amazonaws.com` verfügt, nutzen die beiden Warteschlangen keine Daten gemeinsam.

Das folgende Beispiel zeigt einen Endpunkt, der eine Anforderung zum Erstellen einer Warteschlange stellt. 

```
https://sqs.eu-west-2.amazonaws.com/   
?Action=CreateQueue
&DefaultVisibilityTimeout=40
&QueueName=MyQueue
&Version=2012-11-05
&AUTHPARAMS
```

**Anmerkung**  
Bei Warteschlangennamen und Warteschlangen wird zwischen Groß- und URLs Kleinschreibung unterschieden.  
Die Struktur von *`AUTHPARAMS`* hängt davon ab, wie Sie Ihre API-Anforderung signieren. Weitere Informationen finden Sie unter [AWS API-Anfragen signieren](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) in der *Allgemeinen Referenz zu Amazon Web Services*.

## Durchführen einer GET-Anforderung
<a name="structure-get-request"></a>

Eine Amazon-SQS-GET-Anforderung ist als URL mit den folgenden Komponenten aufgebaut:
+ **Endpunkt** – Die Ressource, für die die Anforderung ausgeführt wird (der [Warteschlangenname und die URL](sqs-queue-message-identifiers.md#queue-name-url)), z. B.: `https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue`
+ **Aktion** – Die [Aktion](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_Operations.html), die Sie für den Endpunkt ausführen möchten. Ein Fragezeichen (`?`) trennt den Endpunkt von der Aktion, z. B.: `?Action=SendMessage&MessageBody=Your%20Message%20Text`
+ **Parameter** – Beliebige Anforderungsparameter. Jeder Parameter ist durch ein kaufmännisches Und (`&`) vom Text getrennt, zum Beispiel: `&Version=2012-11-05&AUTHPARAMS` 

Im Folgenden finden Sie ein Beispiel für eine GET-Anforderung, die eine Nachricht an eine Amazon-SQS-Warteschlange sendet.

```
https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue
?Action=SendMessage&MessageBody=Your%20message%20text
&Version=2012-11-05
&AUTHPARAMS
```

**Anmerkung**  
Bei Warteschlangennamen und Warteschlangen wird zwischen Groß- und Kleinschreibung URLs unterschieden.  
Da dies bei GET-Anfragen der Fall ist URLs, müssen Sie alle Parameterwerte URL-kodieren. Da Leerzeichen nicht erlaubt sind URLs, ist jedes Leerzeichen URL-kodiert als. `%20` Für den Rest des Beispiels wurde zum Zweck der besseren Lesbarkeit keine URL-Codierung durchgeführt.

## Durchführen einer POST-Anforderung
<a name="structure-post-request"></a>

Eine Amazon-SQS-POST-Anforderung sendet Abfrageparameter als Formular im Text einer HTTP-Anforderung.

Es folgt ein Beispiel eines HTTP-Headers mit der Einstellung `application/x-www-form-urlencoded` für `Content-Type`.

```
POST /123456789012/MyQueue HTTP/1.1
Host: sqs.us-east-2.amazonaws.com
Content-Type: application/x-www-form-urlencoded
```

Auf den Header folgt eine `[form-urlencoded](https://www.w3.org/MarkUp/html-spec/html-spec_8.html#SEC8.2)`-GET-Anforderung, die eine Nachricht an eine Amazon-SQS-Warteschlange sendet. Jeder Parameter ist durch ein kaufmännisches Und (`&`) vom Text getrennt.

```
Action=SendMessage
&MessageBody=Your+Message+Text
&Expires=2020-10-15T12%3A00%3A00Z
&Version=2012-11-05
&AUTHPARAMS
```

**Anmerkung**  
Nur der `Content-Type` HTTP-Header ist erforderlich. Der `AUTHPARAMS` ist für die GET-Anforderung derselbe.  
Der HTTP-Client fügt abhängig von der HTTP-Version des Clients möglicherweise weitere Elemente zur HTTP-Anforderung hinzu.

# Interpretieren von Amazon-SQS-XML-API-Antworten
<a name="sqs-xml-api-responses"></a>

Wenn Sie eine Anfrage an Amazon SQS senden, wird eine XML-Antwort mit den Ergebnissen der Anfrage zurückgegeben. Informationen zur Struktur und zu den Einzelheiten dieser Antworten finden Sie in den spezifischen [API-Aktionen](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_Operations.html) in der *Amazon Simple Queue Service API-Referenz*.

## Struktur einer XML-Antwort bei Erfolg
<a name="sqs-api-successful-response-structure"></a>

Wenn die Anforderung erfolgreich ist, wird das Hauptantwortelement nach der Aktion mit dem Zusatz `Response` (zum Beispiel `ActionNameResponse`) benannt.

Dieses Element enthält die folgenden untergeordneten Elemente:
+ **`ActionNameResult`** – Enthält ein aktionsspezifisches Element. Das Element `CreateQueueResult` enthält das Element `QueueUrl`, das wiederum die URL der erstellten Warteschlange enthält.
+ **`ResponseMetadata`** – Enthält die `RequestId`, die wiederum die UUID (Universal Unique Identifier) der Anforderung enthält.

Nachfolgend finden Sie ein Beispiel für eine Antwort bei Erfolg im XML-Format:

```
<CreateQueueResponse
   xmlns=https://sqs.us-east-2.amazonaws.com/doc/2012-11-05/
   xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
   xsi:type=CreateQueueResponse>
   <CreateQueueResult>
      <QueueUrl>https://sqs.us-east-2.amazonaws.com/770098461991/queue2</QueueUrl>
   </CreateQueueResult>
   <ResponseMetadata>
      <RequestId>cb919c0a-9bce-4afe-9b48-9bdf2412bb67</RequestId>
   </ResponseMetadata>
</CreateQueueResponse>
```

## XML-Fehler-Antwortstruktur
<a name="sqs-api-error-response-structure"></a>

Wenn eine Anforderung fehlschlägt, gibt Amazon SQS immer das Haupt-Antwort-Element `ErrorResponse` zurück. Dieses Element enthält ein `Error`- und ein `RequestId`-Element.

Das Element `Error` enthält die folgenden untergeordneten Elemente:
+ **`Type`** – Gibt an, ob es sich bei dem Fehler um einen Produzenten- oder einen Konsumentenfehler handelt.
+ **`Code`** – Gibt den Typ des Fehlers an.
+ **`Message`** – Gibt die Fehlerbedingung in einem lesbaren Format an.
+ **`Detail`** – (Optional) Gibt zusätzliche Details zu dem Fehler an.

Das Element `RequestId` enthält die UUID der Anforderung.

Nachfolgend finden Sie ein Beispiel für eine Antwort bei Fehlschlagen im XML-Format:

```
<ErrorResponse>
   <Error>
      <Type>Sender</Type>
      <Code>InvalidParameterValue</Code>
      <Message>
         Value (quename_nonalpha) for parameter QueueName is invalid.
         Must be an alphanumeric String of 1 to 80 in length.
      </Message>
   </Error>
   <RequestId>42d59b56-7407-4c4a-be0f-4c88daeea257</RequestId>
</ErrorResponse>
```