Gérer les ressources

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

Consultez la documentation d' Apigee Edge.

Comprenez et gérez les ressources, comme décrit dans les sections suivantes.

À propos des ressources

De nombreux types de règles reposent sur des ressources. Les ressources sont les fichiers qui mettent en œuvre le code ou la configuration qu'une règle doit exécuter lorsqu'elle est jointe à un proxy d'API. Dans certains cas, comme avec JavaScript et JavaCallout, une règle définit simplement un point de rattachement dans un proxy d'API où du code doit être exécuté. La règle JavaScript ou JavaCallout est un pointeur vers une ressource.

Types de ressources

Le tableau suivant récapitule les types de ressources :

Type de ressource Description
GraphQL (graphql) Fichier de schéma GraphQL référencé par les règles GraphQL.
JAR (java) Classes Java dans un fichier JAR référencé par des règles JavaCallout.
JavaScript (js) Code JavaScript référencé par des règles JavaScript.
JavaScript (jsc) Code JavaScript compilé référencé par des règles JavaScript.
OpenAPI Specification (oas) Spécification OpenAPI permettant de valider des messages de requête et de réponse de type JSON ou YAML.
Property Set (properties) Collection de paires clé/valeur pouvant être référencées en tant qu'ensembles de propriétés d'un proxy d'API.
Python (py) Scripts Python référencés par des règles PythonScript. Les ressources doivent être mises en œuvre en "Python pur" (uniquement en langage Python).
Security policy (securityPolicy) Stratégie de sécurité personnalisée référencée par des règles JavaCallout.
WSDL (wsdl) Fichiers WSDL référencés par des règles SOAPMessageValidation.
XSD (xsd) Schémas XML référencés par des règles SOAPMessageValidation.
XSL Transformations (xsl) Transformations XSLT référencées par des règles XSLTransform.

Emplacement de stockage des ressources

Vous pouvez stocker des ressources dans les emplacements suivants. Vous ne pouvez pas stocker de fichiers de ressources dans une organisation.

  • Révision de proxy d'API : les ressources ne sont disponibles que pour les révisions de proxy d'API dans lesquelles les ressources sont incluses. Par exemple, vous pouvez inclure une ressource JavaScript avec la révision 1 d'un proxy d'API, puis modifier la mise en œuvre pour utiliser un script Python dans la révision 2 du proxy. La révision 1 n'a accès qu'à la ressource JavaScript, tandis que la révision 2 n'a accès qu'à la ressource Python.
  • Environnement : lorsque des ressources sont stockées dans un environnement (par exemple, test ou prod), elles sont disponibles pour tout proxy d'API déployé dans le même environnement.

Le dépôt de l'environnement est disponible à l'URI suivant, tel que décrit sur la page concernant l'API List resource files et plus loin dans la section Gérer les ressources à l'aide de l'API : /organizations/$ORG/environments/$ENV/resourcefiles

Le tableau suivant présente les méthodes que vous pouvez utiliser pour créer, mettre à jour et supprimer des ressources pour chaque dépôt :

Dépôt Créer Afficher Mettre à jour Supprimer
API UI API UI API UI API UI
Révision du proxy d'API
Environment

Par exemple, tous les fichiers JavaScript disponibles pour l'environnement test sont stockés dans le dépôt suivant, et sont disponibles pour tout proxy d'API exécuté dans l'environnement test :

/organizations/$ORG/environments/test/resourcefiles/jsc

Résolution des noms de ressources

Résolvez les noms de ressources du champ d'application le plus spécifique au plus général. Les noms de ressources sont résolus "jusqu'à la chaîne", du niveau révision de proxy d'API au niveau environnement.

Supposons que vous ayez renseigné la même ressource dans deux dépôts différents : la révision de proxy d'API et l'environnement prod.

Prenons l'exemple d'un proxy d'API configuré avec la règle suivante :

<Javascript name='PathSetterPolicy' timeLimit='200'>
    <ResourceURL>jsc://pathSetter.js</ResourceURL>
</Javascript>

La référence de règle ne peut pas être explicitement résolue vers un dépôt. La première ressource du champ d'application le plus précis dont le nom correspond au nom de la ressource dans la règle est résolue.

Ainsi, lorsque le proxy d'API est déployé dans l'environnement prod, la règle se résout en ressource pathSetter.js associée à un environnement.

Lorsqu'elle est déployée dans l'environnement test, la règle se résout en ressource associée à un révision de proxy d'API, car la ressource associée à un environnement se trouve dans l'environnement prod, et non dans l'environnement test.

Consignes concernant les ressources Java

Vous pouvez ajouter des ressources Java compilées sous forme de fichiers JAR à l'aide de plusieurs options dans curl, telles que -T, --data-binary ou -F (et non l'option -d). Par exemple :

curl "http://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @{jar_file}
curl "http://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/octet-stream" \
  -T "{jar_file}"
curl "http://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/octet-stream" \
  -F "file=@{jar_file}"

Article associé :

Gérer les ressources à l'aide de l'UI

Gérez les ressources associées à une révision de proxy d'API à l'aide de l'UI, comme décrit dans les sections suivantes.

Afficher les ressources à l'aide de l'UI

Nouvel éditeur de proxys

Pour afficher des ressources à l'aide du nouvel éditeur de proxy :

  1. Si vous utilisez https://console.cloud.google.com/apigee : sélectionnez Développement de proxys > Proxys d'API.

    Si vous utilisez la version classique de l'interface utilisateur d'Apigee : sélectionnez Développer > Proxys d'API, puis dans le volet Proxys, sélectionnez l'environnement correspondant au proxy dont vous souhaitez afficher les ressources.

  2. Sélectionnez le proxy d'API dont vous souhaitez afficher les ressources. La vue Présentation de l'éditeur de proxy s'affiche.

  3. Cliquez sur l'onglet Développer :
  4. Dans le volet de gauche, faites défiler la page jusqu'à Ressources. Les ressources actuelles sont affichées en dessous.

Éditeur de proxy classique

Pour afficher les ressources associées à une révision de proxy d'API à l'aide de l'éditeur de proxys classique :

  1. Connectez-vous à l'UI Apigee.
  2. Sélectionnez Développer > Proxys API dans la barre de navigation de gauche.
  3. Sélectionnez un proxy d'API dans la liste pour laquelle vous souhaitez créer une ressource.
    L'éditeur de proxys d'API s'ouvre, et l'onglet Présentation s'affiche par défaut.
  4. Cliquez sur l'onglet Développer :
  5. Si nécessaire, sélectionnez la révision dans la liste déroulante Révision.

    Les ressources associées à la révision de proxy d'API sont répertoriées dans la section Ressources de la vue "Navigateur".

Créer une ressource à l'aide de l'UI

Nouvel éditeur de proxys

Pour créer une ressource à l'aide du nouvel éditeur de proxys :

  1. Si vous utilisez https://console.cloud.google.com/apigee : sélectionnez Développement de proxys > Proxys d'API.

    Si vous utilisez la version classique de l'interface utilisateur d'Apigee : sélectionnez Développer > Proxys d'API, puis dans le volet Proxys, sélectionnez l'environnement correspondant au proxy dont vous souhaitez afficher les ressources.

  2. Sélectionnez le proxy d'API dont vous souhaitez afficher les ressources. La vue Présentation de l'éditeur de proxy s'affiche.

  3. Cliquez sur l'onglet Développer :
  4. Dans le volet de gauche, faites défiler la page jusqu'à Ressources, puis cliquez sur le bouton + à droite.
  5. Dans la boîte de dialogue Ajouter une ressource, saisissez les informations suivantes :
    • Type de ressource : sélectionnez le type de fichier de la ressource.
    • Sous Source, sélectionnez Créer un fichier ou Importer un fichier. Si vous choisissez Importer un fichier, sélectionnez également un fichier à importer dans le champ Fichier.
    • Nom de la ressource : saisissez un nom pour la ressource.
  6. Cliquez sur Ajouter.

Apigee classique

Pour créer des ressources associées à une révision de proxy d'API à l'aide de l'interface utilisateur classique d'Apigee :

  1. Affichez les ressources associées à la révision de proxy d'API.
  2. Cliquez sur + dans la section "Ressources" de la vue "Navigateur" pour ouvrir la boîte de dialogue "Nouvelle ressource".
  3. Saisissez les chaînes suivantes :
    Champ Description
    Source Sélectionnez ce champ pour créer un fichier ou en importer un.
    Type de fichier Sélectionnez un type de ressource dans la liste déroulante.
    Nom du fichier Nom du fichier. L'extension du nom de fichier doit être valide pour le type de fichier sélectionné.

Mettre à jour une ressource à l'aide de l'UI

Mettez à jour une ressource associée à une révision de proxy d'API uniquement si la révision n'a pas été déployée. Une fois une révision de proxy d'API déployée, elle est immuable.

Pour mettre à jour une ressource associée à une révision de proxy d'API à l'aide de l'UI, procédez comme suit :

  1. Affichez les ressources associées à la révision de proxy d'API.
  2. Dans la vue "Navigateur", sous Ressources, cliquez sur la ressource que vous souhaitez mettre à jour.
    Remarque : Pour les fichiers JAR, placez le curseur sur la ressource que vous souhaitez modifier, puis cliquez sur Image de l&#39;icône de modification..
  3. Si nécessaire, mettez à jour la ressource.
    Remarque : Après avoir importé un nouveau fichier JAR, cliquez sur Mettre à jour.

Supprimer une ressource à l'aide de l'UI

Supprimez une ressource associée à une révision de proxy d'API uniquement si la révision n'a pas été déployée. Une fois une révision de proxy d'API déployée, elle est immuable.

Pour mettre à jour une ressource associée à une révision de proxy d'API en utilisant l'interface utilisateur :

  1. Affichez les ressources associées à la révision de proxy d'API.
  2. Dans la vue "Navigateur", sous "Ressources", placez votre curseur sur la ressource que vous souhaitez supprimer pour afficher le menu d'actions.
  3. Cliquez sur Image de l&#39;icône de suppression..
  4. Cliquez sur Supprimer pour confirmer l'action.

Gérer les ressources à l'aide de l'API

Gérez les ressources à l'aide de l'API, comme décrit dans les sections suivantes.

Créer des ressources à l'aide de l'API

Créez des ressources associées à une révision de proxy d'API ou à un environnement, comme décrit dans les sections suivantes.

Créer des ressources associées à une révision de proxy d'API à l'aide de l'API

Créez des ressources associées à une révision de proxy d'API à l'aide de l'API, comme décrit dans les sections suivantes.

Pour créer une ressource associée à une révision de proxy d'API à l'aide de l'API, procédez comme suit :

  1. Créez le fichier de ressources.
  2. Ajoutez le fichier de ressources à un groupe de configuration de proxy d'API.
  3. Importez le groupe à l'aide de l'une des API suivantes :

Créer des ressources associées à un environnement à l'aide de l'API

Créez des ressources limitées à un environnement à l'aide de l'API en envoyant une requête POST à la ressource suivante : /organizations/$ORG/environments/$ENV/resourcefiles

Transmettez les informations suivantes dans votre requête :

  • Définissez le paramètre de requête name sur le nom de la ressource.
  • Définissez le paramètre de requête type sur le type de ressource requis.
  • Transmettez le contenu du fichier de ressources en tant que application/octet-stream ou multipart/form-data.

L'exemple suivant montre comment créer une ressource JavaScript en transmettant son contenu dans le corps de la requête.

curl -X POST https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type:application/octet-stream" \
  -d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");'

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement utilisées, consultez la section Définir des variables d'environnement pour les requêtes API Apigee.

L'exemple suivant montre comment importer la ressource en tant que fichier à partir de votre machine locale. Il est important d'utiliser -F pour l'importation binaire dans curl afin que les fichiers JavaScript associés à un environnement ou à une organisation soient accessibles par la règle JavaScript.

curl -X POST https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type:multipart/form-data" \
  -F file=@pathSetter.js

Voici un exemple de réponse :

{
  "name" : "pathSetter.js",
  "type" : "jsc"
}

Afficher les ressources à l'aide de l'API

Les sections suivantes expliquent comment afficher les ressources à l'aide de l'API.

Afficher toutes les ressources à l'aide de l'API

Affichez toutes les ressources associées à un environnement à l'aide de l'API, comme décrit dans les sections suivantes.

Avec l'API, vous pouvez uniquement afficher les ressources associées à un environnement.

Pour afficher toutes les ressources d'un environnement à l'aide de l'API, envoyez une requête GET à la ressource suivante : https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles

L'exemple suivant répertorie toutes les ressources de l'environnement test :

curl -X GET https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles
  -H "Authorization: Bearer $TOKEN"

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement utilisées, consultez la section Définir des variables d'environnement pour les requêtes API Apigee.

Pour en savoir plus, consultez la section Répertorier les API des fichiers de ressources d'environnement.

Voici un exemple de réponse :

{
  "resourceFile": [
{
  "name" : "pathSetter.js",
  "type" : "jsc"
}
  ]
}

Afficher le contenu d'une ressource à l'aide de l'API

Pour afficher le contenu d'une ressource dans un environnement à l'aide de l'API, envoyez une requête GET à la ressource suivante : /organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME

L'exemple suivant répertorie le contenu du fichier JavaScript (jsc) pathSetter.js dans l'environnement test :

curl -X GET https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
  -H "Authorization: Bearer $TOKEN"

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement utilisées, consultez la section Définir des variables d'environnement pour les requêtes API Apigee.

Voici un exemple de réponse :

request.headers["RequestPath"] = context.getVariable("proxy.basepath");

Mettre à jour des ressources à l'aide de l'API

Mettez à jour des ressources associées à une révision de proxy d'API ou à un environnement, comme décrit dans les sections suivantes.

Mettre à jour des ressources associées à une révision de proxy d'API à l'aide de l'API

Pour mettre à jour une ressource associée à une révision de proxy d'API à l'aide de l'API, procédez comme suit :

  1. Téléchargez le groupe de configuration du proxy d'API à l'aide de l'API d'obtention de révision de proxy d'API avec les options suivantes :
    • Définissez le paramètre de requête format sur bundle
    • Définissez l'en-tête Accept sur application/zip
  2. Mettez à jour le fichier de ressources dans le groupe de configuration de proxy d'API.
  3. Importez le groupe de configuration de proxy d'API à l'aide de l'API de mise à jour de révision de proxy d'API.

Mettre à jour des ressources associées à un environnement à l'aide de l'API

Mettez à jour une ressource associée à un environnement à l'aide de l'API en envoyant une requête PUT à la ressource suivante : /organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME

Transmettez le contenu du fichier de ressources en tant que application/octet-stream ou multipart/form-data.

L'exemple suivant montre comment mettre à jour une ressource JavaScript en transmettant son contenu dans le corps de la requête.

curl -X PUT https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type:application/octet-stream" \
  -d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");'

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement utilisées, consultez la section Définir des variables d'environnement pour les requêtes API Apigee.

L'exemple suivant montre comment mettre à jour le fichier de ressources à l'aide d'un fichier de votre machine locale. Il est important d'utiliser -F pour l'importation binaire dans curl afin que les fichiers JavaScript associés à un environnement ou à une organisation soient accessibles par la règle JavaScript.

curl -X PUT https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type:multipart/form-data" \
  -F file=@pathSetter.js

Voici un exemple de réponse :

{
  "name" : "pathSetter.js",
  "type" : "jsc"
}

Supprimer des ressources à l'aide de l'API

Supprimez la ressource associée à une révision de proxy d'API ou à un environnement, comme décrit dans les sections suivantes.

Supprimer des ressources associées à une révision de proxy d'API à l'aide de l'API

Avec la solution hybride, pour supprimer une ressource associée à un proxy d'API à l'aide de l'API, procédez comme suit :

  1. Téléchargez le groupe de configuration du proxy d'API à l'aide de l'API d'obtention de révision de proxy d'API avec les options suivantes :
    • Définissez le paramètre de requête format sur bundle
    • Définissez l'en-tête Accept sur application/zip
  2. Supprimez le fichier de ressources du groupe de configuration de proxy d'API.
  3. Importez le groupe de configuration de proxy d'API à l'aide de l'API de mise à jour de révision de proxy d'API.

Supprimer une ressource associée à un environnement à l'aide de l'API

Supprimez une ressource associée à un environnement à l'aide de l'API, comme décrit dans les sections suivantes.

Pour supprimer une ressource associée à un environnement à l'aide de l'API, envoyez une requête DELETE à la ressource suivante : https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME

L'exemple suivant supprime le fichier de ressources JavaScript pathSetter.js de l'environnement test :

curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/jsc/pathSetter.js \
  -H "Authorization: Bearer $TOKEN"
  

$TOKEN est défini sur votre jeton d'accès OAuth 2.0, comme décrit dans la section Obtenir un jeton d'accès OAuth 2.0. Pour en savoir plus sur les options curl utilisées dans cet exemple, consultez la section Utiliser curl. Pour obtenir une description des variables d'environnement utilisées, consultez la section Définir des variables d'environnement pour les requêtes API Apigee.

Pour plus d'informations, consultez Supprimer une API de fichier de ressources.

Voici un exemple de réponse :

{
  "name" : "pathSetter.js",
  "type" : "jsc"
}

Accéder à la ressource

La manière dont vous accédez à la ressource dépend du type de ressource. Pour en savoir plus, consultez la Présentation de la documentation de référence des règles.

Les exemples de cette section montrent comment créer et gérer une ressource JavaScript nommée pathSetter.js de sorte qu'elle puisse être référencée par des règles de type JavaScript.

Pour joindre le code JavaScript au PostFlow de requête, créez une règle nommée PathSetterPolicy.xml qui référence le fichier pathSetter.js :

<Javascript name='PathSetterPolicy' timeLimit='200'>
    <ResourceURL>jsc://pathSetter.js</ResourceURL>
</Javascript>

Ensuite, référencez la règle dans la configuration du point de terminaison :

<PostFlow>
  <Request>
    <Step><Name>PathSetterPolicy</Name></Step>
  </Request>
<PostFlow>

Pour en savoir plus, consultez la page Règle JavaScript.