

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.

# Binärunterstützung über die API Gateway-REST-API aktivieren
<a name="api-gateway-payload-encodings-configure-with-control-service-api"></a>

Die folgenden Aufgaben zeigen, wie die Binärunterstützung unter Verwendung der API Gateway-REST-API-Aufrufe aktiviert werden kann.

**Topics**
+ [Hinzufügen und Aktualisieren der unterstützten binären Medientypen für eine API](#api-gateway-payload-encodings-setup-with-api-set-encodings-map)
+ [Konfigurieren der Konvertierung von Anforderungsnutzlasten](#api-gateway-payload-encodings-setup-with-api-set-integration-request-encoding)
+ [Konfigurieren der Konvertierung von Antwortnutzlasten](#api-gateway-payload-encodings-setup-with-api-set-integration-response-encoding)
+ [Konvertieren von Binärdaten in Textdaten](#api-gateway-payload-encodings-convert-binary-to-string)
+ [Konvertieren von Textdaten in eine binäre Nutzlast](#api-gateway-payload-encodings-convert-string-to-binary)
+ [Übergeben einer binären Nutzlast](#api-gateway-payload-encodings-pass-binary-as-is)

## Hinzufügen und Aktualisieren der unterstützten binären Medientypen für eine API
<a name="api-gateway-payload-encodings-setup-with-api-set-encodings-map"></a>

Um API Gateway die Unterstützung eines neuen binären Medientyps zu ermöglichen, müssen Sie den binären Medientyp zur `binaryMediaTypes`-Liste der `RestApi`-Ressource hinzufügen. Wenn API Gateway beispielsweise JPEG-Bilder verarbeiten soll, müssen Sie eine `PATCH`-Anfrage an die `RestApi`-Ressource stellen: 

```
PATCH /restapis/<restapi_id>

{
  "patchOperations" : [ {
    "op" : "add",
    "path" : "/binaryMediaTypes/image~1jpeg"
  } 
 ]
}
```

Die MIME-Typ-Spezifikation `image/jpeg`, die Teil des `path`-Eigenschaftswerts ist, wird als `image~1jpeg` kodiert.

Um die unterstützten binären Medientypen zu aktualisieren, ersetzen oder entfernen Sie sie aus der Liste `binaryMediaTypes` der `RestApi`-Ressource. Wenn Sie beispielsweise die Binärunterstützung von JPEG-Dateien in Rohbytes ändern möchten, senden Sie wie folgt eine `PATCH`-Anforderung an die `RestApi`-Ressource: 

```
PATCH /restapis/<restapi_id>

{
  "patchOperations" : [{
    "op" : "replace",
    "path" : "/binaryMediaTypes/image~1jpeg",
    "value" : "application/octet-stream"
  },
  {
    "op" : "remove",
    "path" : "/binaryMediaTypes/image~1jpeg"
  }]
}
```

## Konfigurieren der Konvertierung von Anforderungsnutzlasten
<a name="api-gateway-payload-encodings-setup-with-api-set-integration-request-encoding"></a>

Wenn der Endpunkt eine binäre Eingabe erfordert, legen Sie die `contentHandling`-Eigenschaft der `Integration`-Ressource auf `CONVERT_TO_BINARY` fest. Um dies zu tun, senden Sie eine `PATCH`-Anforderung wie folgt: 

```
PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration

{
  "patchOperations" : [ {
    "op" : "replace",
    "path" : "/contentHandling",
    "value" : "CONVERT_TO_BINARY"
  }]
}
```

## Konfigurieren der Konvertierung von Antwortnutzlasten
<a name="api-gateway-payload-encodings-setup-with-api-set-integration-response-encoding"></a>

Wenn der Client das Ergebnis als binäres Blob anstelle der base64-kodierten Nutzlast, die vom Endpunkt zurückgegeben wird, akzeptiert, legen Sie die `contentHandling`-Eigenschaft für die `IntegrationResponse`-Ressource auf `CONVERT_TO_BINARY` fest. Um dies zu tun, senden Sie eine `PATCH`-Anforderung wie folgt:

```
PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration/responses/<status_code>

{
  "patchOperations" : [ {
    "op" : "replace",
    "path" : "/contentHandling",
    "value" : "CONVERT_TO_BINARY"
  }]
}
```

## Konvertieren von Binärdaten in Textdaten
<a name="api-gateway-payload-encodings-convert-binary-to-string"></a>

Gehen Sie wie folgt vor, um Binärdaten als JSON-Eigenschaft der Eingabe an AWS Lambda oder Kinesis über API Gateway zu senden: 

1. Aktivieren Sie die Unterstützung binärer Nutzlasten der API durch Hinzufügen des neuen binären Medientyps `application/octet-stream` zur Liste `binaryMediaTypes` der API. 

   ```
   PATCH /restapis/<restapi_id>
   
   {
     "patchOperations" : [ {
       "op" : "add",
       "path" : "/binaryMediaTypes/application~1octet-stream"
     } 
    ]
   }
   ```

1. Legen Sie `CONVERT_TO_TEXT` für die Eigenschaft `contentHandling` der `Integration`-Ressource fest und geben Sie eine Mapping-Vorlage an, um die base64-kodierte Zeichenfolge der Binärdaten einer JSON-Eigenschaft zuzuweisen. Im folgenden Beispiel ist die JSON-Eigenschaft `body` und `$input.body` enthält die base64-kodierte Zeichenfolge.

   ```
   PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration
   
   {
     "patchOperations" : [
       {
         "op" : "replace",
         "path" : "/contentHandling",
         "value" : "CONVERT_TO_TEXT"
       },
       {
         "op" : "add",
         "path" : "/requestTemplates/application~1octet-stream",
         "value" : "{\"body\": \"$input.body\"}"
       }
     ]
   }
   ```

## Konvertieren von Textdaten in eine binäre Nutzlast
<a name="api-gateway-payload-encodings-convert-string-to-binary"></a>

Angenommen, eine Lambda-Funktion gibt eine Bilddatei als base64-kodierte Zeichenfolge zurück. Gehen Sie wie folgt vor, um diese Binärausgabe über API Gateway an den Client zu übergeben: 

1. Aktualisieren Sie die Liste `binaryMediaTypes` der API durch Hinzufügen des binären Medientyps `application/octet-stream`, sofern dieser noch nicht in der Liste enthalten ist. 

   ```
   PATCH /restapis/<restapi_id>
   
   {
     "patchOperations" : [ {
       "op" : "add",
       "path" : "/binaryMediaTypes/application~1octet-stream",
     }]
   }
   ```

1.  Legen Sie die `contentHandling`-Eigenschaft für die `Integration`-Ressource auf `CONVERT_TO_BINARY` fest. Definieren Sie keine Mapping-Vorlage. Wenn Sie keine Mapping-Vorlage definieren, ruft API Gateway die Passthrough-Vorlage auf, um den base64-dekodierten binären Blob als Bilddatei an den Client zurückzugeben. 

   ```
   PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration/responses/<status_code>
   
   {
     "patchOperations" : [
       {
         "op" : "replace",
         "path" : "/contentHandling",
         "value" : "CONVERT_TO_BINARY"
       }
     ]
   }
   ```

## Übergeben einer binären Nutzlast
<a name="api-gateway-payload-encodings-pass-binary-as-is"></a>

 Um ein Bild in einem Amazon S3-Bucket mit API Gateway zu speichern, gehen Sie wie folgt vor: 

1. Aktualisieren Sie die Liste `binaryMediaTypes` der API durch Hinzufügen des binären Medientyps `application/octet-stream`, sofern dieser noch nicht in der Liste enthalten ist. 

   ```
   PATCH /restapis/<restapi_id>
   
   {
     "patchOperations" : [ {
       "op" : "add",
       "path" : "/binaryMediaTypes/application~1octet-stream"
     }
    ]
   }
   ```

1. Legen Sie die `contentHandling`-Eigenschaft für die `Integration`-Ressource auf `CONVERT_TO_BINARY` fest. Legen Sie `WHEN_NO_MATCH` als `passthroughBehavior`-Eigenschaftswert fest, ohne eine Mapping-Vorlage zu definieren. Dadurch wird API Gateway in die Lage versetzt, die Passthrough-Vorlage aufzurufen. 

   ```
   PATCH /restapis/<restapi_id>/resources/<resource_id>/methods/<http_method>/integration
   
   {
     "patchOperations" : [
       {
         "op" : "replace",
         "path" : "/contentHandling",
         "value" : "CONVERT_TO_BINARY"
       },
       {
         "op" : "replace",
         "path" : "/passthroughBehaviors",
         "value" : "WHEN_NO_MATCH"
       }
     ]
   }
   ```