Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Vendez vos API d'API Gateway via AWS Marketplace
Après avoir créé, testé et déployé vos API, vous pouvez les mettre en package dans un plan d'utilisation API Gateway et vendre le plan en tant que produit logiciel en tant que service (SaaS) via AWS Marketplace. Les acheteurs d'API abonnés à votre offre de produit sont facturés par AWS Marketplace en fonction du nombre de demandes effectuées pour le plan d'utilisation.
Pour vendre vos API sur AWS Marketplace, vous devez configurer le canal de vente afin d'intégrer AWS Marketplace avec API Gateway. En règle générale, cela implique la publication de votre produit sur AWS Marketplace, la configuration d'un rôle IAM avec des stratégies appropriées pour permettre à API Gateway d'envoyer des métriques d'utilisation à AWS Marketplace, l'association d'un produit AWS Marketplace à un plan d'utilisation API Gateway et l'association d'un acheteur AWS Marketplace disposant d'une clé API d'API Gateway. Les détails sont présentés dans les sections suivantes.
Pour plus d'informations sur la vente de votre API en tant que produit SaaS sur AWS Marketplace, consultez le Guide de l'utilisateur AWS Marketplace.
Rubriques
Initialisation de l'intégration de AWS Marketplace avec API Gateway
Les tâches suivantes concernent l'initialisation unique de l'intégration de AWS Marketplace avec API Gateway, ce qui vous permet de vendre vos API en tant que produit SaaS.
Publier un produit sur AWS Marketplace
Pour publier votre plan d'utilisation en tant que produit SaaS, soumettez un formulaire de chargement de produit via AWS Marketplaceapigateway
du type requests
. Cette dimension définit le prix par demande et est utilisée par API Gateway afin de mesurer les demandes relatives à vos API.
Création du rôle de mesure
Créez un rôle IAM nommé ApiGatewayMarketplaceMeteringRole
avec la stratégie d'exécution et la stratégie d'approbation suivantes. Ce rôle permet à API Gateway d'envoyer des métriques d'utilisation à AWS Marketplace en votre nom.
Stratégie d'exécution du rôle de mesure
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aws-marketplace:BatchMeterUsage", "aws-marketplace:ResolveCustomer" ], "Resource": "*", "Effect": "Allow" } ] }
Stratégie de la relation d'approbation du rôle de mesure
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Association du plan d'utilisation au produit AWS Marketplace
Lorsque vous ajoutez un produit sur AWS Marketplace, vous recevez un code produit AWS Marketplace. Pour intégrer API Gateway avec AWS Marketplace, associez votre plan d'utilisation au code produit AWS Marketplace. Vous activez l'association en établissant le champ productCode
du UsagePlan
API Gateway dans votre code produit AWS Marketplace à l'aide de la console API Gateway, de l'API REST API Gateway, de la AWS CLI pour API Gateway ou d'un kit SDK AWS pour API Gateway. L'exemple de code suivant utilise l'API REST API Gateway :
PATCH /usageplans/
USAGE_PLAN_ID
Host: apigateway.region
.amazonaws.com Authorization: ... { "patchOperations" : [{ "path" : "/productCode", "value" : "MARKETPLACE_PRODUCT_CODE
", "op" : "replace" }] }
Gestion de l'abonnement des clients aux plans d'utilisation
Les tâches suivantes sont gérées par l'application portail développeur.
Lorsqu'un client s'abonne à votre produit via AWS Marketplace, AWS Marketplace transmet une demande POST
à l'URL d'abonnements SaaS que vous avez enregistrée lors de la publication de votre produit sur AWS Marketplace. La demande POST
est associée à un paramètre x-amzn-marketplace-token
contenant les informations de l'acheteur. Suivez les instructions fournies dans SaaS customer onboarding pour gérer cette redirection dans votre application de portail pour développeurs.
En réponse à la demande d'abonnement d'un client, AWS Marketplace envoie une notification subscribe-success
à une rubrique Amazon SNS à laquelle vous pouvez vous abonner. (Veuillez consulter SaaS customer onboarding). Pour accepter la demande d'abonnement client, vous gérez la notification subscribe-success
en créant ou en récupérant une clé API d'API Gateway pour le client, en associant le customerId
fourni par AWS Marketplace du client aux clés API, puis en ajoutant la clé API à votre plan d'utilisation.
Lorsque la demande d'abonnement du client se termine, l'application portail développeur doit présenter au client la clé d'API associée et informer celui-ci que la clé d'API doit être incluse dans l'en-tête x-api-key
des demandes auprès des API.
Lorsqu'un client annule un abonnement à un plan d'utilisation, AWS Marketplace envoie une notification unsubscribe-success
à la rubrique SNS. Pour désinscrire le client, vous gérez la notification unsubscribe-success
en supprimant les clés d'API du client du plan d'utilisation.
Autorisation d'accès à un plan d'utilisation
Pour autoriser un client spécifique à accéder à votre plan d'utilisation, utilisez l'API API Gateway afin d'extraire ou de créer une clé d'API pour le client et ajoutez celle-ci au plan d'utilisation.
L'exemple suivant montre comment appeler l'API REST API Gateway pour créer une nouvelle clé API avec une valeur customerId
AWS Marketplace spécifique (MARKETPLACE_CUSTOMER_ID
).
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
" }
L'exemple suivant montre comment obtenir une clé d'API avec une valeur AWS Marketplace customerId
(MARKETPLACE_CUSTOMER_ID
) spécifique.
GET apikeys?customerId=
MARKETPLACE_CUSTOMER_ID
HTTP/1.1 Host: apigateway.region
.amazonaws.com Authorization: ...
Pour ajouter une clé d'API à un plan d'utilisation, créez une UsagePlanKey
avec la clé d'API correspondant au plan d'utilisation approprié. L'exemple suivant montre comment effectuer cette opération à l'aide de l'API REST API Gateway, où n371pt
correspond à l'ID du plan d'utilisation et q5ugs7qjjh
un exemple de keyId
d'API retourné des exemples précédents.
POST /usageplans/n371pt/keys HTTP/1.1 Host: apigateway.
region
.amazonaws.com Authorization: ... { "keyId": "q5ugs7qjjh", "keyType": "API_KEY" }
Association d'un client à une clé d'API
Vous devez mettre à jour le champ customerId
de l’ApiKey
avec l'ID client AWS Marketplace du client. Cette opération associe la clé d'API au client AWS Marketplace, ce qui permet d'effectuer les mesures et la facturation pour l'acheteur. L'exemple de code suivant appelle l'API REST API Gateway à cet effet.
PATCH /apikeys/q5ugs7qjjh Host: apigateway.
region
.amazonaws.com Authorization: ... { "patchOperations" : [{ "path" : "/customerId", "value" : "MARKETPLACE_CUSTOMER_ID
", "op" : "replace" }] }