Gérer les ressources

Vous consultez la documentation Apigee Edge.
Accédez à la documentation sur Apigee X.
info

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 la 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'application cible de backend Edge.
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 le pour utiliser un script Python dans la révision 2 du proxy. La révision 1 a accès uniquement à 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 mises à la disposition n'importe quel 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 et ultérieurement dans 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. Ressource les noms sont résolus « en haut de la chaîne », du niveau de révision du proxy API au niveau de l'environnement, en passant par 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.

Lorsqu'elle est déployée dans l'environnement test, la règle se résout en ressource associée à une 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). 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 utilisez <ResourceURL> dans la configuration TargetEndpoint du proxy d'API, comme décrit dans la section Ajouter Node.js à une API existante proxy. Exemple :

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

Ce script Node.js et tous les modules associés doivent se trouver au niveau de la révision du proxy d'API (dans le répertoire /resources/node du bundle du proxy). Dans l'éditeur de proxys d'API, l'ajout à l'aide de la ressource Node.js de la section Scripts. tout comme l'utilisation de l'API (import et mettre à jour) pour stocker la ressource dans le champ d'application de révision du proxy d'API.

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

Pour afficher les ressources associées à une révision de proxy d'API, procédez comme suit :

  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'UI

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

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'UI

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 à l'échelle d'une révision de proxy d'API, d'un environnement ou d'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 associé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 à l'un ou l'autre de ces appels d'API.

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

Pour plus d'informations, voir Importer un fichier de ressources pour une révision de 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 groupe à 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 dont le champ d'application est limité à 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 (voir 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 expliquent comment afficher les ressources à l'aide de l'API.

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

L'API vous permet d'afficher les ressources associées à une révision de proxy d'API, à un environnement ou à une organisation.

Par exemple, pour afficher les ressources associé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'API vous permet d'afficher les ressources associé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

Pour mettre à jour une ressource dont la portée est définie sur une révision de proxy d'API à l'aide de l'API, envoyez 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 ordinateur local. 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

Voici un exemple de réponse de l'un ou l'autre appel d'API.

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

Pour plus d'informations, voir Importer un fichier de ressources pour une révision de 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 Exporter le proxy API avec les options suivantes: <ph type="x-smartling-placeholder">
      </ph>
    • 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 bundle à l'aide de l'API de mise à jour du proxy de révision de l'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 appliquées à l'organisation à l'aide de l'API

Pour mettre à jour une ressource dont le champ d'application est limité à 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 à l'échelle d'une révision de proxy d'API, d'un environnement ou d'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 associé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 helloworld:

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 Exporter le proxy API avec les options suivantes: <ph type="x-smartling-placeholder">
      </ph>
    • 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 bundle à l'aide de l'API de mise à jour du proxy de révision de l'API.

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

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

Pour supprimer une ressource à l'échelle d'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 à l'échelle de l'organisation à l'aide de l'API (Edge uniquement)

Pour supprimer une ressource dont le champ d'application est limité à 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 page Règle JavaScript.