Création d'une spécification de déploiement d'API

Découvrez comment créer une spécification d'API (définition lisible par une machine d'une API au format JSON) à utiliser avec la passerelle d'API.

Pour pouvoir déployer une API sur une passerelle d'API, vous devez créer une spécification de déploiement d'API. Chaque déploiement d'API est accompagné d'une spécification de déploiement d'API.

Chaque spécification de déploiement d'API décrit un jeu de ressources et les méthodes (par exemple, GET, PUT) pouvant être utilisées pour chaque ressource.

Vous pouvez utiliser une seule passerelle d'API comme élément frontal pour plusieurs services dorsaux comme suit :

  • En créant un seul déploiement d'API sur la passerelle d'API, avec une spécification de déploiement d'API qui définit plusieurs services dorsaux.
  • En créant plusieurs déploiements d'API sur la même passerelle d'API, chacun avec une spécification de déploiement d'API qui définit un ou plusieurs services dorsaux.

En général, les services dorsaux se trouvent dans le même réseau en nuage virtuel que la passerelle d'API sur laquelle vous déployez une API. Toutefois, ce n'est pas obligatoire. Dans la spécification de déploiement d'API, vous pouvez décrire les services dorsaux qui se trouvent dans un sous-réseau privé ou public de la location, ainsi que des services en dehors de la location (notamment sur le réseau Internet public). Chaque fois qu'ils sont localisés, les services dorsaux doivent pouvoir être acheminés à partir du sous-réseau contenant la passerelle d'API sur laquelle l'API est déployée. Par exemple, si le service dorsal se trouve sur le réseau Internet public, le réseau en nuage virtuel doit disposer d'une passerelle Internet pour permettre à la passerelle d'API d'acheminer les demandes vers le service dorsal.

Vous pouvez créer une spécification de déploiement d'API comme suit :

  • En utilisant les boîtes de dialogue de la console pendant la création d'un déploiement d'API.
  • En utilisant votre éditeur JSON préféré pour créer un fichier JSON distinct. Vous pouvez alors spécifier le fichier JSON lors de l'utilisation de la console, de l'interface de ligne de commande ou de l'API pour créer un déploiement d'API.
  • En utilisant un fichier de description d'API que vous chargez pour une ressource d'API. Le fichier de description d'API fournit quelques valeurs initiales pour la spécification de déploiement d'API que vous pouvez modifier et étendre lors de la création de la ressource d'API sur la passerelle d'API. Voir Création d'une ressource d'API avec description de l'API.

Les instructions de cette rubrique montrent une spécification de déploiement d'API de base avec un seul élément dorsal, une seule route et aucune politique de demande ou de réponse. Voir Exemple de spécification de déploiement d'API avec plusieurs éléments dorsaux pour une spécification de déploiement d'API plus standard qui inclut plusieurs éléments dorsaux, chacun ayant une ou plusieurs routes.

En outre, vous pouvez ajouter des politiques de demande et de réponse qui s'appliquent aux routes d'une spécification de déploiement d'API (voir Ajout de politiques de demande et de réponse aux spécifications de déploiement d'API).

Utilisation d'un éditeur JSON pour créer une spécification de déploiement d'API dans un fichier JSON distinct

Pour créer une spécification de déploiement d'API dans un fichier JSON :

  1. Dans votre éditeur JSON préféré, créez la spécification de déploiement d'API dans un fichier JSON au format suivant :

    {
      "requestPolicies": {},
      "routes": [
        {
          "path": "<api-route-path>",
          "methods": ["<method-list>"],
          "backend": {
            "type": "<backend-type>",
            "<backend-target>": "<identifier>"
          },
          "requestPolicies": {}
        }
      ]
    }

    où :

    • "requestPolicies" spécifie des politiques facultatives pour contrôler le comportement d'un déploiement d'API. Si vous voulez appliquer des politiques à toutes les routes d'une spécification de déploiement d'API, placez les politiques en dehors de la section routes. Si vous voulez appliquer les politiques uniquement à une route particulière, placez les politiques dans la section routes. Voir Ajout de politiques de demande et de réponse aux spécifications de déploiement d'API.
    • <api-route-path> spécifie un chemin pour les appels d'API utilisant les méthodes indiquées au service dorsal. Notez que le chemin de routage que vous spécifiez :

    • <method-list> spécifie une ou plusieurs méthodes acceptées par le service dorsal, séparées par des virgules. Par exemple, "GET, PUT".
    • <backend-type> spécifie le type du service dorsal. Les valeurs valides sont ORACLE_FUNCTIONS_BACKEND, HTTP_BACKEND et STOCK_RESPONSE_BACKEND.
    • <backend-target> et <identifier> spécifient le service dorsal. Les valeurs valides pour <backend-target> et <identifier> dépendent de la valeur de <backend-type>, comme suit :

    Par exemple, la spécification de déploiement d'API de base suivante définit une simple fonction sans serveur Hello World du service des fonctions pour OCI en tant qu'élément dorsal unique :

    {
      "routes": [
        {
          "path": "/hello",
          "methods": ["GET"],
          "backend": {
            "type": "ORACLE_FUNCTIONS_BACKEND",
            "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
          }
        }
      ]
    }

    Pour un exemple plus complexe définissant plusieurs éléments dorsaux, voir Exemple de spécification de déploiement d'API avec plusieurs éléments dorsaux.

  2. Enregistrez le fichier JSON contenant la spécification de déploiement d'API.
  3. Utilisez comme suit la spécification de déploiement d'API lorsque vous créez ou mettez à jour un déploiement d'API :

    • En spécifiant le fichier JSON dans la console lorsque vous sélectionnez l'option Charger une API existante.
    • En spécifiant le fichier JSON dans une demande à l'API REST du service Passerelle d'API.

    Pour plus d'informations, voir Déploiement d'une API sur une passerelle d'API en créant un déploiement d'API.

Utilisation d'un fichier de description d'API pour créer une spécification de déploiement d'API

Pour créer une spécification de déploiement d'API basée sur un fichier de description d'API que vous chargez pour une ressource d'API, voir Création d'une ressource d'API avec description de l'API

Le fichier de description d'API fournit quelques valeurs initiales pour la spécification de déploiement d'API que vous pouvez modifier et étendre lors de la création de la ressource d'API sur la passerelle d'API.

Exemple de spécification de déploiement d'API avec plusieurs éléments dorsaux

Vous pouvez créer un seul déploiement d'API sur une passerelle d'API avec une spécification de déploiement d'API qui définit plusieurs services dorsaux.

Par exemple, la spécification de déploiement d'API suivante définit une simple fonction sans serveur Hello World du service des fonctions pour OCI en tant qu'élément dorsal et l'API du service météorologique national en tant que deuxième élément dorsal.

{
  "routes": [
    {
      "path": "/hello",
      "methods": ["GET"],
      "backend": {
        "type": "ORACLE_FUNCTIONS_BACKEND",
        "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
      }
    },
    {
      "path": "/weather",
      "methods": ["GET"],
      "backend": {
        "type": "HTTP_BACKEND",
        "url": "https://api.weather.gov"
      }
    }
  ]
}