Verkaufen Sie Ihre API-Gateway-APIs über AWS Marketplace - Amazon API Gateway

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.

Verkaufen Sie Ihre API-Gateway-APIs über AWS Marketplace

Nach dem Erstellen, Testen und Bereitstellen Ihrer APIs können Sie diese in einem API-Gateway-Nutzungsplan verpacken und den Plan als SaaS-Produkt (Software as a Service, Software als Service) über AWS Marketplace verkaufen. API-Käufer, die Ihr Produktangebot abonnieren, erhalten basierend auf der Anzahl der Anforderungen an den Nutzungsplan eine Rechnung von AWS Marketplace.

Um Ihre APIs auf AWS Marketplace verkaufen zu können, müssen Sie den Vertriebskanal für die Integration von AWS Marketplace in API Gateway einrichten. Im Allgemeinen gehört dazu das Eintragen Ihres Produkts in AWS Marketplace, das Einrichten einer IAM-Rolle mit den entsprechenden Richtlinien, die es API Gateway ermöglichen, Metriken an AWS Marketplace zu senden, das Zuordnen eines AWS Marketplace-Produkts zu einem API-Gateway-Nutzungsplan und das Zuordnen eines AWS Marketplace-Käufers zu einem API-Gateway-API-Schlüssel. Details dazu finden Sie in den folgenden Abschnitten.

Weitere Informationen über den Verkauf Ihrer APIs als SaaS-Produkt über AWS Marketplace finden Sie im AWS Marketplace Benutzerhandbuch.

Initialisierung der AWS Marketplace-Integration mit API Gateway

Die folgenden Aufgaben dienen der einmaligen Initialisierung der Integration von AWS Marketplace mit API Gateway. Diese ermöglicht das Verkaufen Ihrer APIs als SaaS-Produkt.

Eintragen eines Produkts bei AWS Marketplace

Übermitteln Sie für die Eintragung Ihres Nutzungsplans als SaaS-Produkt ein Produktladeformular über AWS Marketplace. Das Produkt muss eine Dimension mit dem Namen apigateway vom Typ requests enthalten. Diese Dimension definiert den Preis pro Anforderung und wird von API Gateway verwendet, um die Anzahl der Anforderungen an Ihre APIs zu erfassen.

Erstellen der Messungsrolle

Erstellen Sie eine IAM-Rolle mit dem Namen ApiGatewayMarketplaceMeteringRole und der folgenden Ausführungsrichtlinie und Vertrauensrichtlinie. Diese Rolle ermöglicht es API Gateway, in Ihrem Auftrag Nutzungskennzahlen an AWS Marketplace zu senden.

Ausführungsrichtlinie der Messungsrolle

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aws-marketplace:BatchMeterUsage", "aws-marketplace:ResolveCustomer" ], "Resource": "*", "Effect": "Allow" } ] }

Vertrauensbeziehungsrichtlinie der Messungsrolle

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Zuordnen eines Nutzungsplans zu einem AWS Marketplace-Produkt

Wenn Sie ein Produkt in AWS Marketplace eintragen, erhalten Sie einen AWS Marketplace-Produktcode. Ordnen Sie Ihren Nutzungsplan zur Integration von API Gateway mit AWS Marketplace dem AWS Marketplace-Produkt-Code zu. Sie aktivieren die Zuordnung, indem Sie das productCode-Feld UsagePlan von API-Gateway auf Ihren AWS Marketplace-Produkt-Code festlegen und die API-Gateway-Konsole, die API-Gateway-REST-API, die AWS CLI für API Gateway oder das AWS SDK für API Gateway verwenden. Das folgende Codebeispiel verwendet die API Gateway-REST-API:

PATCH /usageplans/USAGE_PLAN_ID Host: apigateway.region.amazonaws.com Authorization: ... { "patchOperations" : [{ "path" : "/productCode", "value" : "MARKETPLACE_PRODUCT_CODE", "op" : "replace" }] }

Verarbeiten von Kundenabonnements eines Nutzungsplans

Die folgenden Aufgaben werden von Ihrer Entwicklerportalanwendung übernommen.

Wenn ein Kunde Ihr Produkt über AWS Marketplace abonniert, sendet AWS Marketplace eine POST-Anforderung an die SaaS-Abonnement-URL, die Sie bei der Auflistung Ihres Produkts auf AWS Marketplace registriert haben. Die POST-Anforderung enthält einen x-amzn-marketplace-token-Parameter mit Käuferinformationen. Befolgen Sie die Anweisungen unter Onboarding für SaaS-Kunden, um diese Umleitung in Ihrer Entwicklerportalanwendung zu verarbeiten.

Als Antwort auf die Abonnementanforderung eines Kunden sendet AWS Marketplace eine subscribe-success-Benachrichtigung an ein Amazon-SNS-Thema, das Sie abonnieren können. (Informationen finden Sie unter Onboarding für SaaS-Kunden). Um die Abonnementanforderung des Kunden zu akzeptieren, verarbeiten Sie die Benachrichtigung subscribe-success, indem Sie einen API-Gateway-API-Schlüssel für den Kunden erstellen oder abrufen, die von AWS Marketplace bereitgestellte customerId des Kunden dem API-Schlüssel zuordnen und dann den API-Schlüssel Ihrem Nutzungsplan hinzufügen.

Wenn die Abonnementanforderung des Kunden abgeschlossen ist, sollte der Kunde in der Entwicklerportalanwendung mit dem zugeordneten API-Schlüssel angezeigt werden und wird informiert, dass der API-Schlüssel im Header x-api-key von Anforderungen an die APIs enthalten sein muss.

Wenn ein Kunde ein Abonnement eines Nutzungsplans kündigt, sendet AWS Marketplace eine Benachrichtigung unsubscribe-success an das SNS-Thema. Zum Abschließen der Abonnementkündigung des Kunden verarbeiten Sie die unsubscribe-success-Benachrichtigung, indem Sie die API-Schlüssel des Kunden aus dem Nutzungsplan entfernen.

Autorisieren eines Kunden für den Zugriff auf den Nutzungsplan

Verwenden Sie zum Autorisieren des Zugriffs eines Kunden auf Ihren Nutzungsplan die API Gateway-API, um einen API-Schlüssel abzurufen oder zu erstellen, und fügen Sie dem Nutzungsplan den API-Schlüssel hinzu.

Das folgende Beispiel zeigt, wie Sie die API-Gateway-REST-API zum Erstellen eines neuen API-Schlüssels mit einem bestimmten AWS Marketplace-customerId-Wert (MARKETPLACE_CUSTOMER_ID) verwenden.

POST apikeys HTTP/1.1 Host: apigateway.region.amazonaws.com Authorization: ... { "name" : "my_api_key", "description" : "My API key", "enabled" : "false", "stageKeys" : [ { "restApiId" : "uycll6xg9a", "stageName" : "prod" } ], "customerId" : "MARKETPLACE_CUSTOMER_ID" }

Das folgende Beispiel zeigt, wie Sie einen API-Schlüssel mit einem bestimmten AWS Marketplace customerId-Wert (MARKETPLACE_CUSTOMER_ID ) abrufen.

GET apikeys?customerId=MARKETPLACE_CUSTOMER_ID HTTP/1.1 Host: apigateway.region.amazonaws.com Authorization: ...

Erstellen Sie zum Hinzufügen eines API-Schlüssels zu einem Nutzungsplan einen UsagePlanKey mit dem API-Schlüssel für den entsprechenden Nutzungsplan. Im folgenden Beispiel wird gezeigt, wie dies über die API Gateway-REST-API durchgeführt wird, wobei n371pt die Nutzungsplan-ID und q5ugs7qjjh eine Beispiel-API-keyId ist, die in den vorhergehenden Beispielen zurückgegeben wurde.

POST /usageplans/n371pt/keys HTTP/1.1 Host: apigateway.region.amazonaws.com Authorization: ... { "keyId": "q5ugs7qjjh", "keyType": "API_KEY" }

Verknüpfen eines Kunden mit einem API-Schlüssel

Sie müssen das customerId-Feld ApiKey auf die AWS Marketplace-Kunden-ID des Kunden aktualisieren. Auf diese Weise wird der API-Schlüssel mit dem AWS Marketplace-Kunden verknüpft, was die Messung und Abrechnung dieses Käufers ermöglicht. Im folgenden Codebeispiel wird die API Gateway-REST-API aufgerufen, um dies durchzuführen.

PATCH /apikeys/q5ugs7qjjh Host: apigateway.region.amazonaws.com Authorization: ... { "patchOperations" : [{ "path" : "/customerId", "value" : "MARKETPLACE_CUSTOMER_ID", "op" : "replace" }] }