

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.

# Tutorial: Erstellen Sie eine REST-API mit einer AWS Integration
<a name="getting-started-aws-proxy"></a>

 In [Tutorial: Erstellen einer REST-API mit einer Lambda-Proxy-Integration](api-gateway-create-api-as-simple-proxy-for-lambda.md) und [Tutorial: Erstellen einer REST-API mit einer Lambda-Nicht-Proxy-Integration](getting-started-lambda-non-proxy-integration.md) wird beschrieben, wie eine API Gateway-API erstellt wird, um die integrierte Lambda-Funktion zu bereitzustellen. Darüber hinaus können Sie eine API-Gateway-API erstellen, um andere AWS Dienste wie Amazon SNS, Amazon S3, Amazon Kinesis usw. verfügbar zu machen. AWS Lambda Dies wird durch die `AWS`-Integration ermöglicht. Die Lambda-Integration oder die Lambda-Proxy-Integration ist ein Sonderfall, bei dem der Aufruf der Lambda-Funktion über die API Gateway-API bereitgestellt wird. 

 Alle AWS Dienste unterstützen ausschließlich APIs die Bereitstellung ihrer Funktionen. Die Anwendungsprotokolle oder Programmierschnittstellen sind jedoch wahrscheinlich von Service zu Service unterschiedlich. Eine API-Gateway-API mit der `AWS` Integration hat den Vorteil, dass sie Ihrem Kunden ein konsistentes Anwendungsprotokoll für den Zugriff auf verschiedene AWS Dienste bietet. 

 In dieser exemplarischen Vorgehensweise erstellen wir eine API zur Bereitstellung von von Amazon SNS. Weitere Beispiele für die Integration einer API mit anderen AWS Diensten finden Sie unter[Amazon API Gateway-Tutorials und -Workshops](api-gateway-tutorials.md). 

 Im Gegensatz zur Lambda-Proxy-Integration gibt es keine entsprechende Proxy-Integration für andere AWS -Services. Daher wird eine API-Methode mit einer einzigen AWS Aktion integriert. Für mehr Flexibilität, ähnlich wie bei der Proxy-Integration, können Sie eine Lambda-Proxy-Integration einrichten. Die Lambda-Funktion analysiert und verarbeitet dann Anfragen für andere AWS Aktionen. 

 API Gateway versucht es nicht erneut, wenn der Endpunkt das Zeitlimit überschreitet. Der API-Aufrufer muss eine Logik für Wiederholversuche implementieren, um mit Endpunkt-Timeouts umzugehen. 

 Diese schrittweise Anleitung basiert auf den Anweisungen und Konzepten in [Tutorial: Erstellen einer REST-API mit einer Lambda-Nicht-Proxy-Integration](getting-started-lambda-non-proxy-integration.md). Wenn Sie diese Anleitung noch nicht ausgeführt haben, sollen Sie dies zuerst nachholen. 



**Topics**
+ [Voraussetzungen](#getting-started-aws-proxy-prerequisites)
+ [Schritt 1: Erstellen Sie die AWS Service-Proxy-Ausführungsrolle](#getting-started-aws-proxy-add-roles)
+ [Schritt 2: Erstellen der Ressource](#getting-started-aws-proxy-add-resources)
+ [Schritt 3: Erstellen der GET-Methode](#getting-started-aws-proxy-add-methods)
+ [Schritt 4: Angeben von Methodeneinstellungen und Testen der Methode](#getting-started-aws-proxy-set-methods)
+ [Schritt 5: Bereitstellen der API](#getting-started-aws-proxy-deploy)
+ [Schritt 6: Testen der API](#getting-started-aws-proxy-test)
+ [Schritt 7: Bereinigen](#getting-started-aws-proxy-clean-up)

## Voraussetzungen
<a name="getting-started-aws-proxy-prerequisites"></a>

Führen Sie die folgenden Schritte aus, bevor Sie mit der schrittweisen Anleitung beginnen:

1. Führen Sie die Schritte unter au [Einrichten der API Gateway](setting-up.md).

1.  Erstellen Sie eine neue API mit dem Namen `MyDemoAPI`. Weitere Informationen finden Sie unter [Tutorial: REST-API mit HTTP-API ohne Proxy-Integration erstellen](api-gateway-create-api-step-by-step.md). 

1. Stellen Sie die API mindestens einmal für eine Stufe mit dem Namen berei `test`. Weitere Informationen finden Sie unter [Bereitstellen der API](getting-started-lambda-non-proxy-integration.md#getting-started-deploy-api) in [Wählen Sie ein AWS Lambda Integrations-Tutorial](getting-started-with-lambda-integration.md).

1. Führen Sie die restlichen Schritte in au [Wählen Sie ein AWS Lambda Integrations-Tutorial](getting-started-with-lambda-integration.md).

1. Erstellen Sie mindestens ein Thema in Amazon Simple Notification Service (Amazon SNS). Sie verwenden die bereitgestellte API, um eine Liste der Themen in Amazon SNS abzurufen, die mit Ihrem AWS Konto verknüpft sind. Wie Sie ein Thema in Amazon SNS erstellen, erfahren Sie unter [Thema erstellen](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html). (Sie müssen nicht die in Schritt 5 erwähnte Thema-ARN kopieren.)

## Schritt 1: Erstellen Sie die AWS Service-Proxy-Ausführungsrolle
<a name="getting-started-aws-proxy-add-roles"></a>

 Einer IAM-Rolle müssen geeignete IAM-Richtlinien zugeordnet sein, damit die API Amazon-SNS-Aktionen aufrufen kann. In dieser Übung erstellen Sie eine neue IAM-Rolle.

**Um die AWS Service-Proxy-Ausführungsrolle zu erstellen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Wählen Sie **Roles**.

1. Wählen Sie **Rolle erstellen** aus.

1.  Wählen Sie unter **Typ der vertrauenswürdigen Entität auswählen** die Option **AWS Dienst** aus, wählen Sie dann **API Gateway** aus und wählen Sie **Erlaubt API Gateway, Logs in Logs zu CloudWatch übertragen**.

1.  Klicken Sie auf **Weiter** und dann erneut auf **Weiter**.

1. Geben Sie für **Role name (Rollenname)** den Namen **APIGatewaySNSProxyPolicy** ein und klicken Sie auf **Create role (Rolle erstellen)**.

1. Wählen Sie in der Liste **Roles** die Rolle aus, die Sie gerade erstellt haben. Möglicherweise müssen Sie scrollen oder die Rolle über die Suchleiste finden.

1. Wählen Sie für die ausgewählte Rolle die Registerkarte **Berechtigungen hinzufügen** aus.

1. Wählen Sie in der Dropdown-Liste **Berechtigungen anfügen** aus.

1. Geben Sie im Suchfeld **AmazonSNSReadOnlyAccess** ein und wählen Sie **Berechtigungen hinzufügen** aus. 
**Anmerkung**  
Dieses Tutorial verwendet der Einfachheit halber eine verwaltete Richtlinie. Als Best Practice sollten Sie Ihre eigene IAM-Richtlinie erstellen, um die erforderlichen Mindestberechtigungen zu gewähren. 

1. Notieren Sie sich den neu erstellten **Rollen-ARN**, Sie werden ihn später brauchen.

## Schritt 2: Erstellen der Ressource
<a name="getting-started-aws-proxy-add-resources"></a>

In diesem Schritt erstellen Sie eine Ressource, die es dem AWS Service-Proxy ermöglicht, mit dem AWS Dienst zu interagieren.

**So erstellen Sie die Ressource**

1. Melden Sie sich bei der API Gateway Gateway-Konsole unter [https://console.aws.amazon.com/apigatewayan](https://console.aws.amazon.com/apigateway).

1. Wählen Sie Ihre API aus.

1. Wählen Sie die Stammressource **/** aus. Sie erkennen sie an dem einzelnen Schrägstrich (**/**), und klicken Sie dann auf **Ressource erstellen**.

1. Die **Proxy-Ressource** bleibt ausgeschaltet.

1. **Ressourcenpfad** wird als `/` beibehalten.

1. Geben Sie für **Resource name (Ressourcenname)** **mydemoawsproxy** ein.

1. **CORS (Cross Origin Resource Sharing)** bleibt ausgeschaltet.

1. Wählen Sie **Create Resource** (Ressource erstellen) aus.

## Schritt 3: Erstellen der GET-Methode
<a name="getting-started-aws-proxy-add-methods"></a>

In diesem Schritt erstellen Sie eine GET-Methode, die es dem AWS Dienstproxy ermöglicht, mit dem Dienst zu interagieren. AWS 

**So erstellen Sie die `GET`-Methode**

1. Wählen Sie die **/mydemoawsproxy**-Ressource aus und klicken Sie dann auf **Methode erstellen**.

1. Wählen Sie als Methodentyp **GET** aus.

1. Für **Integrationstyp** wählen Sie **AWS-Service** aus.

1. Wählen Sie für den Ort aus **AWS-Region**, AWS-Region an dem Sie Ihr Amazon SNS SNS-Thema erstellt haben.

1. Wählen Sie für **AWS-Service** **Amazon SNS** aus.

1. Lassen Sie die **AWS -Subdomain** leer.

1. Für **HTTP-Methode** wählen Sie **GET** aus.

1. Wählen Sie für **Aktionstyp** die Option **Aktionsnamen verwenden** aus.

1. Für **Aktionsname** geben Sie **ListTopics** ein.

1. Geben Sie für **Ausführungsrolle** den Rollen-ARN für **APIGatewaySNSProxyPolicy** ein.

1. Wählen Sie **Methode erstellen** aus.

## Schritt 4: Angeben von Methodeneinstellungen und Testen der Methode
<a name="getting-started-aws-proxy-set-methods"></a>

Sie können nun Ihre `GET`-Methode testen, um sicherzustellen, dass sie korrekt für die Auflistung Ihrer SNS-Themen eingerichtet wurde.

**So testen Sie die `GET`-Methode**

1. Wählen Sie die Registerkarte **Test**. Möglicherweise müssen Sie die rechte Pfeiltaste wählen, um die Registerkarte anzuzeigen.

1. Wählen Sie **Test** aus.

   Im Ergebnis wird eine Antwort ähnlich der Folgenden angezeigt:

   ```
   {
     "ListTopicsResponse": {
       "ListTopicsResult": {
         "NextToken": null,
         "Topics": [
           {
             "TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-1"
           },
           {
             "TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-2"
           },
           ...
           {
             "TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-N"
           }
         ]
       },
       "ResponseMetadata": {
         "RequestId": "abc1de23-45fa-6789-b0c1-d2e345fa6b78"
       }
     }
   }
   ```

## Schritt 5: Bereitstellen der API
<a name="getting-started-aws-proxy-deploy"></a>

In diesem Schritt stellen Sie die API bereit, damit Sie sie von außerhalb der API Gateway-Konsole aufrufen können.

**So stellen Sie die API bereit**

1. Klicken Sie auf **Deploy API**.

1. Wählen Sie für **Stufe** die Option **Neue Stufe** aus.

1. Geben Sie für **Stage name (Stufenname)** **test** ein.

1. (Optional) Geben Sie unter **Description (Beschreibung)** eine Beschreibung ein.

1. Wählen Sie **Deploy (Bereitstellen)** aus.

## Schritt 6: Testen der API
<a name="getting-started-aws-proxy-test"></a>

In diesem Schritt verlassen Sie die API Gateway Gateway-Konsole und verwenden Ihren AWS Service-Proxy, um mit dem Amazon SNS SNS-Service zu interagieren.

1. Klicken Sie im Hauptnavigationsbereich auf **Stufe**.

1. Wählen Sie unter **Stufendetails** das Kopiersymbol aus, um die Aufruf-URL Ihrer API zu kopieren.

   Das sollte wie folgt aussehen:

   ```
   https://my-api-id.execute-api.region-id.amazonaws.com/test
   ```

1. Geben Sie die URL in das Adressfeld einer neuen Registerkarte im Browser ein.

1. Fügen Sie `/mydemoawsproxy` an, sodass die URL wie folgt aussieht:

   ```
   https://my-api-id.execute-api.region-id.amazonaws.com/test/mydemoawsproxy
   ```

   Rufen Sie die URL auf. Informationen wie die folgenden werden angezeigt:

   ```
   {"ListTopicsResponse":{"ListTopicsResult":{"NextToken": null,"Topics":[{"TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-1"},{"TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-2"},...{"TopicArn": "arn:aws:sns:us-east-1:80398EXAMPLE:MySNSTopic-N}]},"ResponseMetadata":{"RequestId":"abc1de23-45fa-6789-b0c1-d2e345fa6b78}}}
   ```

## Schritt 7: Bereinigen
<a name="getting-started-aws-proxy-clean-up"></a>

Sie können die IAM-Ressourcen löschen, die der AWS Service-Proxy benötigt, um zu funktionieren.

**Warnung**  
Wenn Sie eine IAM-Ressource löschen, auf die sich ein AWS Service-Proxy stützt, funktionieren dieser AWS Dienstproxy und alle APIs , die darauf angewiesen sind, nicht mehr. Das Löschen einer IAM-Ressource kann nicht rückgängig gemacht werden. Wenn Sie die IAM-Ressource wieder nutzen möchten, müssen Sie diese neu erstellen.

**Löschen Sie die zugehörigen IAM-Ressourcen wie folgt:**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Bereich **Details** die Option **Roles** aus.

1. Wählen Sie **APIGatewayAWSProxyExecRole** aus und anschließend **Role Actions** und **Delete Role**. Wählen Sie bei Aufforderung **Yes, Delete**.

1. Wählen Sie im Bereich **Details** **Policies**.

1. Wählen Sie **APIGatewayAWSProxyExecPolicy** und dann anschließend **Policy Actions** ** Delete**. Wählen Sie bei Aufforderung **Löschen**.

 Sie haben das Ende dieser Anleitung erreicht. Ausführlichere Erläuterungen zum Erstellen einer API als AWS Dienstproxy finden Sie unter, [Tutorial: REST-API als AmazonS3-Proxy erstellen](integrating-api-with-aws-services-s3.md)[Tutorial: Erstellen Sie eine Rechner-REST-API mit zwei AWS Serviceintegrationen und einer Lambda-Non-Proxy-Integration](integrating-api-with-aws-services-lambda.md), oder[Tutorial: REST-API als Amazon Kinesis-Proxy erstellen](integrating-api-with-aws-services-kinesis.md). 