Gérer les ressources

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

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.

L'exemple de code JavaScript suivant définit le chemin de requête HTTP sur la valeur de la variable proxy.basepath.

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

Types de ressources

Le tableau suivant récapitule les types de ressources :

Type de ressource Description
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.
Hosted target (hosted) Fichiers Node.js à déployer sur des cibles hébergées Vous pouvez déployer Node.js en tant qu'applications de backend Edge cible.
Node (node) Fichiers Node.js, y compris le fichier Node.js principal, les fichiers sources associés et les dépendances de module.
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).
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

Les ressources peuvent être stockées dans l'un des trois emplacements suivants:

  • 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, et 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.
  • Organisation: lorsqu'elles sont stockées dans une organisation, les ressources sont disponibles pour tout proxy d'API déployé dans n'importe quel environnement.

Les dépôts sont disponibles aux URI suivants, comme décrit dans l'API Resource Files, puis dans la section Gérer les ressources à l'aide de l'API:

  • Organisation : /organizations/{org}/resourcefiles
  • Environnement : /organizations/{org}/environments/{env}/resourcefiles
  • Proxy d'API: /organizations/{org}/apis/{api}/revisions/{rev}/resources

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
Environnement
Organisation

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

Edge résout les noms de ressources du champ d’application le plus spécifique au champ d’application le plus général. Les noms de ressources sont résolus en amont, du niveau de révision du proxy d'API au niveau de l'environnement, jusqu'au niveau de l'organisation (Edge uniquement).

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 stratégie se résout au niveau de la ressource avec le champ d'application de la révision du proxy d'API, car la ressource à l'échelle de l'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). Exemple :

curl "http://{mgmt_server}:{port}/v1/organizations/{org}/environments/{env}/resourcefiles?name={jar_file}&type=java" \
  -X POST \
  --data-binary @{jar_file} \
  -H "Content-Type: application/octet-stream" \
  -u email:password
curl -v "http://{mgmt_server}:{port}/v1/organizations/{org}/environments/{env}/resourcefiles?name={jar_file}&type=java"
  -X POST \
  -H "Content-Type: application/octet-stream" \
  -T "{jar_file}" \
  -u email:password
curl -v "http://{mgmt_server}:{port}/v1/organizations/{org}/environments/{env}/resourcefiles?name={jar_file}&type=java"
  -X POST \
  -H "Content-Type: application/multipart/form-data" \
  -F "file=@{jar_file}" \
  -u email:password

Article associé :

Consignes relatives aux ressources Node.js

Lorsque vous référencez un script Node.js dans un proxy d'API, vous le faites avec l'élément <ResourceURL> dans la configuration TargetEndpoint du proxy d'API, comme décrit dans la section Ajouter Node.js à un proxy d'API existant. Exemple :

<ScriptTarget>
    <ResourceURL>node://hello-world.js</ResourceURL>
</ScriptTarget>

Ce script Node.js et tous les modules compatibles doivent se trouver dans le champ d'application de la révision du proxy d'API (dans le répertoire /resources/node du groupe de proxys). Pour ce faire, vous pouvez ajouter la ressource Node.js à la section "Scripts" dans l'éditeur de proxys d'API. Il en va de même l'utilisation de l'API (import et update) pour stocker la ressource dans le champ d'application de la révision du proxy d'API.

Gérer les ressources à l'aide de l'interface utilisateur

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

Afficher les ressources à l'aide de l'UI

Pour afficher les ressources limitées à une révision de proxy d'API:

  1. Connectez-vous à apigee.com/edge.

  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'interface utilisateur

Pour créer des ressources associées à 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. Cliquez sur + dans la section "Ressources" de la vue "Navigateur" pour ouvrir la boîte de dialogue "Nouvelle ressource".
  3. Saisissez ce qui suit :
    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

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 .
  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'interface utilisateur

Pour supprimer 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", placez votre curseur sur la ressource que vous souhaitez supprimer pour afficher le menu d'actions.
  3. Cliquez sur .
  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 limitées à une révision de proxy d'API, un environnement ou une organisation (Edge uniquement), 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 une ressource limitée à une révision de proxy d'API à l'aide de l'API en envoyant une requête POST à la ressource suivante : https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/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 crée un fichier JavaScript nommé pathSetter.js pour la révision 1 du proxy d'API helloworld:

curl -X POST https://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles?name=pathSetter.js&type=jsc
  -H "Content-type:application/octet-stream" \
  -d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
  -u email:password

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://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles?name=pathSetter.js&type=jsc
  -H "Content-type:multipart/form-data" \
  -F file=@pathSetter.js \
  -u email:password

Vous trouverez ci-dessous un exemple de réponse de l'un ou l'autre des appels d'API.

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

Pour plus d'informations, voir Importer un fichier de ressources pour une révision du proxy d'API.

Vous pouvez également utiliser l'API de révision du proxy de l'API Update, 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 package à l'aide de l'une des API suivantes:

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

Créez une ressource JavaScript associée à 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://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
  -H "Content-type:application/octet-stream" \
  -d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
  -u email:password

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://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
  -H "Content-type:multipart/form-data" \
  -F file=@pathSetter.js \
  -u email:password

Voici un exemple de réponse :

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

Créer des ressources limitées à l'organisation à l'aide de l'API

Pour créer une ressource limitée à une organisation à l'aide de l'API, envoyez une requête POST à la ressource suivante : https://api.enterprise.apigee.comv1/organizations/{org}/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 fichier de ressources (consultez la section Types de ressources).
  • Transmettez le contenu du fichier de ressources en tant que application/octet-stream ou multipart/form-data.

Pour en savoir plus, consultez Importer un fichier de ressources pour une organisation.

Afficher les ressources à l'aide de l'API

Les sections suivantes décrivent comment afficher les ressources à l'aide de l'API.

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

À l'aide de l'API, vous pouvez afficher les ressources limitées à une révision de proxy d'API, un environnement ou une organisation.

Par exemple, pour afficher les ressources des ressources limitées à l'environnement à l'aide de l'API, envoyez une requête GET à la ressource suivante : https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/resourcefiles

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

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/my-organization/environments/test/resourcefiles/{type}" \
  -u email:password

Voici un exemple de réponse :

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

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

Affichez le contenu d'une ressource à l'aide de l'API, comme décrit dans les sections suivantes.

À l'aide de l'API, vous pouvez afficher les ressources limitées à une révision de proxy d'API, un environnement ou une organisation.

Par exemple, pour afficher le contenu d'une ressource dans un environnement à l'aide de l'API, envoyez une requête GET à la ressource suivante : https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/name

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

curl -X GET https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js" \
  -H "Accept: application/json" \
  -u email:password

Voici un exemple de réponse :

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

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

Mettez à jour les ressources limitées à une révision de proxy d'API, un environnement ou une organisation (Edge uniquement), 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

Mettez à jour une ressource limitée à une révision de proxy d'API à l'aide de l'API en envoyant une requête PUT à la ressource suivante : https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/resourcefiles/{type}/{name}

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

L'exemple suivant met à jour la ressource JavaScript nommée pathSetter pour la révision 1 du proxy d'API helloworld:

curl -X PUT https://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles/jsc/pathSetter.js
  -H "Content-type:application/octet-stream" \
  -d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
  -u email:password

L'exemple suivant montre comment mettre à jour 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 PUT https://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles/jsc/pathSetter.js
  -H "Content-type:multipart/form-data" \
  -F file=@pathSetter.js \
  -u email:password

Vous trouverez ci-dessous un exemple de réponse de l'un ou l'autre des appels d'API.

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

Pour plus d'informations, voir Importer un fichier de ressources pour une révision du proxy d'API.

Vous pouvez également utiliser l'API de révision du proxy de l'API Update, comme suit:

  1. Téléchargez le groupe de configuration du proxy d'API à l'aide de l'API de proxy d'API d'exportation 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 à l'aide de l'API de révision du 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://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
  -H "Content-type:application/octet-stream" \
  -d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
  -u email:password

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://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
  -H "Content-type:multipart/form-data" \
  -F file=@pathSetter.js \
  -u email:password

Voici un exemple de réponse :

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

Mettre à jour les ressources limitées à l'organisation à l'aide de l'API

Pour mettre à jour une ressource limitée à une organisation à l'aide de l'API, envoyez une requête POST à la ressource suivante : https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles/{type}/{name}

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

Pour en savoir plus, consultez Importer un fichier de ressources pour une organisation.

Supprimer des ressources à l'aide de l'API

Supprimez la ressource limitée à une révision de proxy d'API, un environnement ou une organisation (Edge uniquement), comme décrit dans les sections suivantes.

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

Pour supprimer une ressource limitée à une révision de proxy d'API à l'aide de l'API, envoyez une requête DELETE à la ressource suivante : https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/resourcefiles/{type}/{name}

L'exemple suivant supprime le fichier de ressources JavaScript pathSetter.js de la révision 1 du proxy de l'API bonjour:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/my-organization/apis/helloworld/revisions/1/resourcefiles/jsc/pathSetter.js" \
  -u email:password
  

Voici un exemple de réponse :

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

Vous pouvez également utiliser l'API de révision du proxy de l'API Update, comme suit:

  1. Téléchargez le groupe de configuration du proxy d'API à l'aide de l'API de proxy d'API d'exportation 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 à l'aide de l'API de révision du proxy d'API.

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

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

Pour supprimer une ressource limitée à un environnement à l'aide de l'API, envoyez une requête DELETE à la ressource suivante : https://api.enterprise.apigee.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 GET "https://api.enterprise.apigee.com/v1/organizations/my-organization/environments/test/resourcefiles/jsc/pathSetter.js" \
  -u email:password

Voici un exemple de réponse :

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

Supprimer les ressources limitées à l'organisation à l'aide de l'API (Edge uniquement)

Pour supprimer une ressource limitée à une organisation à l'aide de l'API, envoyez une requête DELETE à la ressource suivante : https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles/{type}/{name}

Pour en savoir plus, consultez Supprimer un fichier de ressources d'une organisation.

Accéder à la ressource

La manière dont vous accédez à la ressource dépend du type de ressource. Pour plus d'informations, reportez-vous à la documentation sur la règle concernée.

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 Règle JavaScript.