Vous consultez la documentation Apigee Edge.
Accédez à la documentation Apigee X.
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 les cibles hébergées. Vous pouvez déployer Node.js en tant qu'applications cibles de backend Edge. |
Node (node) |
Fichiers Node.js, y compris le fichier Node.js principal, les fichiers sources associés et les dépendances des modules. |
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 l'implémentation 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,
testouprod), elles sont disponibles pour tout proxy d'API déployé dans le même environnement. - Organisation : lorsque des ressources sont stockées dans une organisation, elles 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 et plus loin 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/jscRésolution des noms de ressources
Edge résout 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, puis au niveau 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 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é :
- Bonnes pratiques Java : Bonnes pratiques pour la conception et le développement de proxys d'API
- Exemple de livre de recettes Java : Règle XSLTransform
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 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 associés doivent résider dans le champ d'application de la révision du proxy d'API (dans le répertoire /resources/node du bundle de proxy). Dans l'éditeur de proxy d'API, ajoutez la ressource Node.js à la section "Scripts". Il en va de même pour l'utilisation de l'API (import et update) pour stocker la ressource au niveau de la 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 :
-
Connectez-vous à apigee.com/edge.
- Sélectionnez Développer > Proxys API dans la barre de navigation de gauche.
- 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. - Cliquez sur l'onglet Développer :
- 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 :
- Affichez les ressources associées à la révision de proxy d'API.
- Cliquez sur + dans la section "Ressources" de la vue "Navigateur" pour ouvrir la boîte de dialogue "Nouvelle ressource".
- 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 :
- Affichez les ressources associées à la révision de proxy d'API.
- 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
. - 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 :
- Affichez les ressources associées à la révision de proxy d'API.
- Dans la vue "Navigateur", sous "Ressources", placez votre curseur sur la ressource que vous souhaitez supprimer pour afficher le menu d'actions.
- Cliquez sur
. - 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, à 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 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
namesur le nom de la ressource. - Définissez le paramètre de requête
typesur le type de ressource requis. - Transmettez le contenu du fichier de ressources en tant que
application/octet-streamoumultipart/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
Voici un exemple de réponse à l'un ou l'autre des appels d'API.
{
"name": "pathSetter.js",
"type": "jsc"
}Pour en savoir plus, consultez Importer un fichier de ressources pour une révision de proxy d'API.
Vous pouvez également utiliser l'API Update API proxy revision (Mettre à jour la révision du proxy d'API), comme suit :
- Créez le fichier de ressources.
- Ajoutez le fichier de ressources à un groupe de configuration de proxy d'API.
- Importez le bundle à 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
namesur le nom de la ressource. - Définissez le paramètre de requête
typesur le type de ressource requis. - Transmettez le contenu du fichier de ressources en tant que
application/octet-streamoumultipart/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 associé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
namesur le nom de la ressource. - Définissez le paramètre de requête
typesur le type de fichier de ressources (voir Types de ressources). - Transmettez le contenu du fichier de ressources en tant que
application/octet-streamoumultipart/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 à 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
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:passwordVoici 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 associé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 associé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
Voici un exemple de réponse à l'un ou l'autre des appels d'API.
{
"name": "pathSetter.js",
"type": "jsc"
}Pour en savoir plus, consultez Importer un fichier de ressources pour une révision de proxy d'API.
Vous pouvez également utiliser l'API Update API proxy revision (Mettre à jour la révision du proxy d'API), comme suit :
- Téléchargez le groupe de configuration du proxy d'API à l'aide de l'API d'exportation de proxy d'API avec les options suivantes :
- Définissez le paramètre de requête
formatsurbundle - Définissez l'en-tête
Acceptsurapplication/zip
- Définissez le paramètre de requête
- Mettez à jour le fichier de ressources dans le groupe de configuration de proxy d'API.
- Importez le bundle à 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://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 des ressources associées à l'organisation à l'aide de l'API
Pour mettre à jour une ressource associé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 associé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 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 d'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 Update API proxy revision (Mettre à jour la révision du proxy d'API), comme suit :
- Téléchargez le groupe de configuration du proxy d'API à l'aide de l'API d'exportation de proxy d'API avec les options suivantes :
- Définissez le paramètre de requête
formatsurbundle - Définissez l'en-tête
Acceptsurapplication/zip
- Définissez le paramètre de requête
- Supprimez le fichier de ressources du groupe de configuration de proxy d'API.
- Importez le bundle à 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://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 des ressources associées à l'organisation à l'aide de l'API (Edge uniquement)
Pour supprimer une ressource associé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 page Règle JavaScript.