Description des plans de votre produit

Décrivez les plans que vous souhaitez inclure dans votre produit IBM® API Connect et les API qu'ils contiendront, ainsi que les limites de débit qui s'appliquent.

A propos de cette tâche

Un plan contient des API et leurs opérations. Il peut être utilisé pour implémenter des limites de débit et personnaliser la visibilité.

Remarque: Si vous utilisez plusieurs serveurs DataPower® dans un service de passerelle, pour calculer correctement les appels d'API pour les limites de débit, les serveurs doivent pouvoir communiquer entre eux à l'aide de groupes d'homologues SLM, en utilisant l'appairage de diffusion sélective SLM ou l'appairage de multidiffusion SLM en fonction de la configuration de votre réseau. Pour plus d'informations, consultez la section « Peering SLM ».

En outre, vous pouvez appliquer des limites de diffusion en rafale à vos plans, pour empêcher les pics d'utilisation qui risqueraient d'endommager l'infrastructure. Plusieurs limites de diffusion en rafale peuvent être définies par plan, à des intervalles de temps en seconde et en minute. Vous pouvez également définir plusieurs limites de débit par plan et par opération, à des intervalles en secondes, minutes, heures, jours et semaines.

Remarque: toutes les clés et les valeurs d'énumération spécifiées dans cette rubrique sont sensibles à la casse.

Les deux exemples de descriptions de plan d'une représentation YAML d'un produit se trouvent à la fin de la rubrique. Un exemple de représentation YAML complète d'un produit se trouve dans Un exemple de représentation YAML d'un produit.

Procédure

Pour décrire des plans, incluez-y des API, et définissez des limites de débit pour les plans ou des opérations. Suivez les instructions ci-dessous :
  1. Commencer la section Plans avec plans:
  2. Sous Plans, commencez la description du premier plan en fournissant un nom et une description et indiquez si une approbation est requise pour les demandes d'abonnement. Utilisez la syntaxe suivante :
    plans:
      Plan_Name:
        title: Plan_Title
        description: Plan_Description
        approval: Approval_Toggle
    où :
    • Plan_Name est le nom du plan. Il doit s'agir d'un mot contenant uniquement des caractères alphanumériques et les caractères - (tiret) et _ (soulignement). Le nom est sensible à la casse et ne doit pas comporter plus de 20 caractères pour pouvoir être affiché dans l'interface utilisateur d' API Manager .
    • Plan_Title est le titre de la chaîne Plan.Any peut être utilisée, mais le titre doit être court pour pouvoir être affiché dans l'interface utilisateur d' API Manager .
    • description_plan est la description du plan.
    • bouton_bascule_approbation doit avoir la valeur true (dans ce cas, une approbation est nécessaire pour les demandes d'abonnement) ou la valeur false (dans ce cas les abonnements sont approuvés automatiquement).
  3. Facultatif : dans votre plan, ajoutez plusieurs limites de débit et de rafale qui s'appliqueront à toutes les opérations du plan; utilisez la syntaxe suivante :
    Remarque: Pour plus d'informations sur les limites de débit et les limites de diffusion en rafale dans API Connect, voir Description des limites de débit pour les API et les plans.
        rate-limits:
          Name:
            value: Rate_Limit
            hard-limit: Limit_Toggle
          Name:
            value: Rate_Limit
            hard-limit: Limit_Toggle
        burst-limits:
          Name:
            value: Burst_Limit
    où :
    • Nom est le nom de la limite.
    • limite_débit est la limite de débit. Il peut s'agir de multiples de secondes, de minutes, d'heures, de jours ou de semaines, écrits respectivement sous la forme second, minute, hour, dayet week ; n'utilisez pas les formes plurielles des mots. Utilisez la syntaxe suivante : 1/2minute. Si l'unité de temps est au singulier, il n'est pas nécessaire de la faire précéder d'un nombre, par exemple, 1/minute. Si vous ne voulez pas appliquer une limite de débit, définissez limite_débit sous la forme unlimited.
    • Limit_Toggle doit être true ou false. Si la valeur est true, les appels d'API d'un développeur échouent si la limite de débit est dépassée. Cette étape n'est pas nécessaire si vous avez affecté à limite_débit la valeur unlimited.
    • limite_diffusion_en_rafale est la limite de diffusion en rafale. Il peut s'agir de multiples de secondes ou de minutes, écrits sous la forme second ou minute; n'utilisez pas les formes plurielles des mots.
    Remarque :
    • L'application d'une limite de débit au niveau du plan crée une limite de débit par défaut qui est partagée entre toutes les opérations au sein du plan. Si vous avez besoin de limites de débit spécifiques pour des opérations particulières, vous devez les définir au sein même des opérations et ces paramètres remplaceront alors le paramètre défini au niveau du plan.
    • L'application de test utilisée par l'outil de test API Manager n'est pas soumise à des limites de débit si vous avez activé les abonnements automatiques pour le catalogue dans lequel vous effectuez les tests. Pour plus d'informations, voir Utilisation de catalogues
  4. Sous le plan, indiquez les API à inclure.

    Référencez les API par nom et version, comme suit :

        apis:
          API_1_nameAPI_1_version: {}
          API_2_nameAPI_2_version: {}
    • les variables nom_n_API sont les noms sensibles à la casse des API.
    • les variables version_n_API sont les versions des API.
  5. Facultatif : si vous souhaitez n'inclure qu'un sous-ensemble des opérations d'une API, énumérez les opérations à inclure; utilisez la syntaxe suivante :
        apis:
          API_nameAPI_version:
            operations:
              - operation: Operation_1_Verb
                path: Operation_1_Path
              - operation: Operation_2_Verb
                path: Operation_2_Path
    
    • les variables chemin_n_opération sont les chemins des opérations à inclure. Le tiret est requis pour chaque opération.
    • les variables verbe_n_opération sont les instructions REST appropriées des opérations.
  6. Facultatif : si vous souhaitez définir plusieurs limites de débit pour une seule opération, utilisez la syntaxe suivante :
        apis:
          API_nameAPI_version:
            operations:
              - operation: Operation_Verb
                path: Operation_Path
                rate-limits:
                  Name:
                    value: Operation_Limit
                    hard-limit: Operation_Limit_Toggle
                  Name:
                    value: Operation_Limit
                    hard-limit: Operation_Limit_Toggle
    où :
    • limite_opération est la limite de débit à appliquer à l'opération. Il peut s'agir de multiples de secondes, de minutes, d'heures, de jours ou de semaines, écrits respectivement sous la forme second, minute, hour, dayet week ; n'utilisez pas les formes plurielles des mots. Utilisez la syntaxe suivante : 1/2minute. Si l'unité de temps est au singulier, il n'est pas nécessaire de la faire précéder d'un nombre, par exemple, 1/minute. Si vous ne voulez pas appliquer une limite de débit, définissez limite_opération sous la forme unlimited.
    • Operation_Limit_Toggle doit être true ou false. Si la valeur est true, les appels d'API d'un développeur échouent si la limite de débit est dépassée. Cette étape n'est pas nécessaire si vous avez affecté à limite_opération la valeur unlimited.

Résultats

Vous avez décrit les plans à inclure dans le produit. Votre section Plans doit être similaire aux scénarios suivants.

Si vous avez appliqué une limite de débit pour le plan sans définir d'opération individuelle, la section Plan doit se présenter comme suit :

plans:
  Plan_Name:
    title: Plan_Title
    description: Plan_Description
    approval: Approval_Toggle
    rate-limits:
      Name:
        value: Limit
        hard-limit: Limit_Toggle
    apis:
      API_1_nameAPI_1_version: {}
      API_2_nameAPI_2_version: {}
Si vous avez appliqué des limites de débit au niveau du plan et que vous souhaitez inclure deux opérations, avec une limite de débit distincte pour l'une des opérations, la section Plan doit se présenter comme suit :
plans:
  Plan_Name:
    title: Plan_Title
    description: Plan_Description
    approval: Approval_Toggle
    rate-limits:
      Name:
        value: API_Limit
        hard-limit: API_Limit_Toggle
    burst-limits:
      Name:
        value: Burst_limit
    apis:
      API_nameAPI_version:
        operations:
          - operation: Operation_1_Verb
            path: Operation_1_Path
            rate-limits:
              Name:
                value: Operation_Limit
                hard-limit: Operation_Limit_Toggle
          - operation: Operation_2_Verb
            path: Operation_2_Path

Dans les deux exemples, les variables sont les mêmes que celles dans les étapes précédentes, et l'indentation doit être la même.

L'exemple suivant présente une section complète d'exemples de plans :
plans:
  default:
    title: Default Plan
    description: Default Plan
    approval: false
    rate-limits:
      default:
        value: 100/hour
        hard-limit: false
  my-plan:
    title: my_plan
    rate-limits:
      Default rate-limit:
        value: 50/1hour
        hard-limit: false
    burst-limits:
      Default burst-limit:
        value: 10/1second
    apis:
      api21.0.0:
        operations:
          - operation: get
            path: /path2
      api31.0.0:
        operations:
          - operation: get
            path: /path3
            rate-limits:
              limit3:
                value: 10/1second
                hard-limit: true
              limit4:
                value: 100/1hour
                hard-limit: true
      api11.0.0: {}