Développer des proxys d'API

Cette page s'applique à Apigee et à Apigee hybrid.

Consultez la documentation d' Apigee Edge.

Vous exposez des API sur Apigee en mettant en œuvre des proxys d'API. Grâce aux proxys d'API, les API liées aux applications sont dissociées des services de backend, ce qui permet de protéger ces applications si le code de backend est modifié.

Développez vos proxys d'API à l'aide d'Apigee dans Cloud Code, comme décrit dans les sections suivantes. Voir aussi Gérer les dossiers et les fichiers dans un espace de travail Apigee.

Créer un proxy d'API

Pour créer un proxy d'API à l'aide d'Apigee dans Cloud Code, assurez-vous d'avoir créé un espace de travail de développement local, puis procédez comme suit:

  1. Effectuez l'une des actions suivantes :

    • Dans votre espace de travail, placez le curseur sur le dossier apiproxies, puis cliquez sur Icône Créer un proxy d'API.

      + s'affiche lorsque vous placez le curseur sur le dossier apiproxies.

    • Sélectionnez Affichage > Palette de commandes pour ouvrir la palette de commandes, puis sélectionnez Cloud Code : Créer un groupe de proxys Apigee.

    L'assistant Créer un proxy s'ouvre.

  2. Sélectionnez l'une des options suivantes :

    Type Description
    Access token-based authentication

    Ajoute l'authentification basée sur OAuth 2.0 à votre proxy d'API. Apigee ajoute automatiquement les stratégies suivantes à votre proxy d'API :

    • Quota à gérer sur le proxy.
    • AssignMessage pour supprimer la clé API fournie dans l'appel d'API en tant que paramètre de requête, de la requête transmise au serveur backend.
    • OAuthV2 comme méthode d'authentification.
    API key-based authentication

    Proxy d'API qui utilise une validation de clé API simple. Apigee ajoute automatiquement les stratégies suivantes à votre proxy d'API :

    • Quota à gérer sur le proxy.
    • VerifyAPIKey pour valider les clés API présentées en demandant des applications.
    • AssignMessage pour supprimer la clé API fournie dans l'appel d'API en tant que paramètre de requête, de la requête transmise au serveur backend.
    Echo request

    Proxy d'API qui fait écho aux requêtes. Il n'y a pas de backend cible/API pour ce type de proxy et aucune authentification. Vous n'êtes pas invité à spécifier une URL pour le service de backend (Target (Existing API)) et la configuration par défaut du point de terminaison cible n'est pas incluse.

    Simple reverse proxy

    Proxy d'API qui transfère les requêtes vers une cible backend. Il n'inclut pas d'authentification. Les requêtes sont donc transmises au backend sans contrôle de sécurité.

    OpenAPI 3.0 spec

    Créez un proxy en chargeant une spécification OpenAPI 3.0 existante. Pour en savoir plus, consultez l'OpenAPI Initiative.

  3. Pour en savoir plus sur les champs (tels que le chemin de base) nécessaires à la création de chaque type de proxy, consultez la section Champs principaux du proxy d'API. Répondez à chacune des invites, puis appuyez sur Entrée pour confirmer et continuer, ou sur Échap pour annuler l'assistant.

Une fois la procédure de l'assistant terminée, le nouveau dossier apiproxy-name est ajouté sous apiproxies dans Apigee Explorer. Chaque dossier de proxy d'API est structuré comme décrit dans la section Structure du répertoire de configuration du proxy API.

Vous trouverez ci-dessous un exemple de configuration par défaut créée pour un proxy d'API créé avec le type API key-based authentication.

Structure de dossiers d'un proxy d'authentification basé sur une clé API

Pour obtenir une description de la configuration par défaut, consultez la section Explorer la configuration du proxy de l'API par défaut.

Explorer la configuration de proxy d'API par défaut

Le tableau suivant récapitule le contenu inclus dans la configuration par défaut lorsque vous créez un proxy d'API basé sur le type de proxy d'API et les options d'authentification sélectionnées.

Fichier de configuration
Proxy inverse simple
Demande d'écho
Authentification par jeton d'accès (OAuthV2)
Authentification par clé API
proxies/default.xml
Configuration du point de terminaison du proxy par défaut.
targets/default.xml
Configuration du point de terminaison cible par défaut.
 
impose-quota.xml
Règles sur les quotas pour définir un quota par défaut.
   
remove-header-authorization.xml
Stratégie AssignMessage pour supprimer l'en-tête Authorization transmis pour l'authentification.
   
 
remove-query-param-apikey.xml
Stratégie AssignMessage pour supprimer le paramètre de requête apikey transmis pour l'authentification.
     
verify-api-key.xml
Stratégie VerifyAPIKey pour appliquer la vérification des clés API.
     
verify-oauth-v2-access-token.xml
OAuthV2 stratégie pour valider les jetons d'accès OAuth V2.
   
 

Importer un groupe de proxys d'API

Pour importer un groupe de proxys d'API vers Apigee dans Cloud Code :

  1. Effectuez l'une des actions suivantes :

    • Dans votre espace de travail Apigee, placez le curseur sur le dossier apiproxies, puis cliquez sur Icône Importer un groupe de proxys d'API.

    • Sélectionnez Afficher > Palette de commandes pour ouvrir la palette de commandes, puis sélectionnez Cloud Code : Importer un groupe de proxys Apigee.

  2. Accédez au groupe de proxys d'API que vous souhaitez importer, puis cliquez sur Sélectionner. Le groupe de proxys d'API doit être structuré comme décrit dans la structure du répertoire de configuration du proxy d'API.

  3. (Facultatif) Par défaut, le nom du fichier ZIP moins son extension est utilisé pour le nom du proxy API. Si ce nom n'est pas unique, vous êtes invité à en saisir un.

Le dossier apiproxy-name importé est ajouté sous apiproxies dans votre espace de travail.

Gérer les points de terminaison du proxy

Comme décrit dans la section Qu'est-ce qu'un proxy d'API ?, un point de terminaison proxy (ProxyEndpoint) définit la manière dont les applications clientes consomment vos API. Vous configurez le point de terminaison du proxy pour définir l'URL de votre proxy d'API. Le point de terminaison du proxy détermine également si les applications accèdent au proxy d'API via HTTP ou HTTPS. Vous pouvez associer des stratégies au point de terminaison du proxy pour appliquer la sécurité, et contrôler les quotas et d'autres types de contrôle des accès et de limitation du débit.

Créez et configurez des points de terminaison de proxy comme décrit dans les sections suivantes.

Créer des points de terminaison de proxy

Lorsque vous créez un proxy d'API, un point de terminaison de proxy par défaut est ajouté à la configuration de proxy d'API. Pour en savoir plus, consultez la section Explorer la configuration du proxy d'API par défaut. Vous pouvez créer des points de terminaison de proxy supplémentaires, si nécessaire.

Pour créer un point de terminaison proxy à l'aide d'Apigee dans Cloud Code, procédez comme suit :

  1. Dans votre espace de travail Apigee, effectuez l'une des actions suivantes:

    • Placez le curseur sur l'un des dossiers suivants, cliquez sur Icône Créer un point de terminaison de proxy, puis sélectionnez Create proxy endpoint (Créer un point de terminaison du proxy) :
      • Groupe de proxys apiproxy-name
      • apiproxy-name/apiproxy
    • Placez le curseur sur le dossier apiproxy-name/apiproxy/proxies, puis cliquez sur Icône Créer un point de terminaison de proxy.

    L'assistant Créer un point de terminaison proxy s'ouvre.

  2. Saisissez les valeurs correspondant à la série de invites suivante. Appuyez sur Entrée après chaque étape pour confirmer et continuer, ou sur Échap pour annuler.

    Champ Description
    Proxy endpoint name Nom utilisé pour identifier le point de terminaison du proxy.
    API proxy base path Partie de l'URL utilisée pour envoyer des requêtes à votre API. Apigee utilise l'URL pour mettre en correspondance et acheminer les requêtes entrantes vers le proxy d'API approprié.
    Target endpoint Sélectionnez no target ou default. Pour en savoir plus, consultez la section Éléments de configuration ProxyEndpoint.

Le point de terminaison est créé et ajouté au dossier apiproxy-name/apiproxy/proxies de la section Apigee, puis ouvert dans l'éditeur. Configurez le point de terminaison du proxy, comme décrit dans la section suivante.

Configurer des points de terminaison de proxy

Pour configurer les points de terminaison de proxy, reportez-vous aux sections suivantes :

Gérer les points de terminaison cibles

Comme décrit dans la section Qu'est-ce qu'un proxy d'API ?, un point de terminaison cible (TargetEndpoint) définit la manière dont le proxy d'API interagit avec vos services de backend. Vous devez configurer le point de terminaison cible pour qu'il transfère les requêtes vers le service de backend approprié, et définir les paramètres de sécurité, le protocole HTTP ou HTTPS et d'autres informations de connexion. Vous pouvez associer des règles au TargetEndpoint pour vous assurer que les messages de réponse sont correctement formatés pour l'application qui a effectué la requête initiale.

Créez et configurez des points de terminaison cibles comme décrit dans cette section.

Créer des points de terminaison cibles

Lorsque vous créez un proxy d'API inverse, un point de terminaison cible par défaut est ajouté à la configuration du proxy d'API. Lorsque vous créez un proxy d'API sans cible de backend, seul le point de terminaison du proxy par défaut est ajouté à la configuration de proxy d'API, mais aucun point de terminaison cible n'est ajouté. Pour en savoir plus, consultez la section Explorer la configuration du proxy d'API par défaut.

Créez des points de terminaison cibles, si nécessaire.

Pour créer un point de terminaison cible à l'aide d'Apigee dans Cloud Code, procédez comme suit :

  1. Dans votre espace de travail Apigee, effectuez l'une des actions suivantes:

    • Placez le curseur sur l'un des dossiers suivants, cliquez sur Créer une icône de point de terminaison cible, puis sélectionnez Create target endpoint (Créer un point de terminaison cible) :
      • Groupe de proxys apiproxy-name
      • apiproxy-name/apiproxy
    • Placez le curseur sur le dossier apiproxy-name/apiproxy/targets, puis cliquez sur Créer une icône de point de terminaison cible.

    L'assistant Créer un point de terminaison cible s'ouvre.

  2. Effectuez les étapes suivantes en fonction du type de point de terminaison cible que vous souhaitez créer :

    Type Étapes
    Cible HTTP(s) externe

    Pour définir une cible HTTP(s) externe, procédez comme suit :

    1. Sélectionnez Cible HTTP(s).
    2. Saisissez le nom du point de terminaison cible dans le champ Nom du point de terminaison cible.
    3. Saisissez l'URL du service de backend que ce point de terminaison cible appelle dans le champ URL cible du backend.

    Pour en savoir plus, consultez la section Déterminer l'URL du point de terminaison cible.

    Chaînage de proxys

    Pour définir un proxy d'API déployé localement comme cible, procédez comme suit :

    1. Sélectionnez chaînage de proxy.
    2. Saisissez le nom du point de terminaison cible dans le champ Nom du point de terminaison cible.
    3. Sélectionnez un proxy d'API.
    4. Sélectionnez le point de terminaison du proxy.

    Pour plus d'informations, reportez-vous à la section Chaîner des proxys ensemble.

    Cible à équilibrage de charge

    Pour définir une cible à équilibrage de charge à l'aide des serveurs cibles définis dans l'environnement, procédez comme suit :

    1. Sélectionnez Cible à équilibrage de charge.
    2. Saisissez le nom du point de terminaison cible dans le champ Nom du point de terminaison cible.

    Pour plus d'informations, consultez la section Configurer un TargetEndpoint pour équilibrer la charge sur des TargetServers nommés.

Le point de terminaison cible est créé et ajouté au dossier apiproxy-name/apiproxy/targets, puis ouvert dans l'éditeur. Configurez le point de terminaison cible, comme décrit dans la section suivante.

Configurer des points de terminaison cibles

Configurez les points de terminaison cibles, comme décrit dans les rubriques suivantes.