Administrar recursos

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

Comprende y administra recursos, como se describe en las siguientes secciones.

Información acerca de los recursos

Muchos tipos de políticas dependen de los recursos. Los recursos son los archivos que implementan el código o la configuración que debe ejecutar una política cuando se adjunta a un proxy de API. En algunos casos, al igual que con JavaScript y JavaCallout, una política solo define un punto de adjunto en un proxy de API en el que se debe ejecutar algún código. La política de JavaScript o JavaCallout es un puntero a un recurso.

En el siguiente ejemplo de JavaScript, se establece la ruta de la solicitud HTTP en el valor de la variable proxy.basepath.

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

Tipos de recursos

En la siguiente tabla, se resumen los tipos de recursos:

Tipo de recurso Descripción
JAR (java) Clases de Java en un archivo JAR a las que hacen referencia las políticas JavaCallout.
JavaScript (js) JavaScript al que se hace referencia en las políticas JavaScript
JavaScript (jsc) JavaScript compilado al que se hace referencia en las políticas JavaScript
Hosted target (hosted) Archivos de Node.js para implementar en Hosted Targets. Puedes implementar Node.js como aplicaciones de destino de backend de Edge.
Node (node) Archivos de Node.js, incluido el archivo principal de Node.js, los archivos fuente relacionados y las dependencias de módulos
Python (py) Secuencias de comandos de Python a las que se hace referencia en políticas de PythonScript. Los recursos deben implementarse en “Python puro” (solo en el lenguaje Python).
WSDL (wsdl) Archivos WSDL a los que se hace referencia en políticas SOAPMessageValidation.
XSD (xsd) Esquemas XML a los que se hace referencia en las políticas de SOAPMessageValidation.
XSL Transformations (xsl) Transformaciones XSLT a los que se hace referencia en las políticas XSLTransform.

Dónde se almacenan los recursos

Los recursos se pueden almacenar en una de las siguientes tres ubicaciones:

  • Revisión del proxy de API: Los recursos están disponibles solo para las revisiones de proxy de API en las que se incluyen los recursos. Por ejemplo, puedes incluir un recurso JavaScript con la revisión 1 de un proxy de API y, luego, cambiar la implementación para usar una secuencia de comandos de Python en la revisión 2 del proxy. La revisión 1 tiene acceso solo al recurso de JavaScript, y la revisión 2 tiene acceso solo al recurso de Python.
  • Entorno: Cuando se almacena en un entorno (por ejemplo, test o prod), los recursos están disponibles para cualquier proxy de API implementado en el mismo entorno.
  • Organización: Cuando se almacenan en una organización, los recursos están disponibles para cualquier proxy de API implementado en cualquier entorno.

Los repositorios están disponibles en los siguientes URIs, como se describe en la API de archivos de recursos y, luego, en Administra recursos con la API:

  • Organización: /organizations/{org}/resourcefiles
  • Entorno: /organizations/{org}/environments/{env}/resourcefiles
  • Proxy de API: /organizations/{org}/apis/{api}/revisions/{rev}/resources

En la siguiente tabla, se muestran los métodos que puedes usar a fin de crear, actualizar y borrar recursos para cada repositorio:

Repositorio Crear Ver Actualizar Borrar
API IU API IU API IU API IU
Revisión del proxy de API
Entorno
Organización

Por ejemplo, todos los archivos de JavaScript disponibles para el entorno test se almacenan en el siguiente repositorio y están disponibles para cualquier proxy de API que se ejecute en el entorno test:

/organizations/{org}/environments/test/resourcefiles/jsc

Resolución de nombres de recursos

Edge resuelve los nombres de recursos desde el alcance más específico al más general. Los nombres de recursos se resuelven “a lo largo de la cadena”, desde el nivel de revisión del proxy de API hasta el nivel de entorno y, luego, hasta el nivel de organización (solo en Edge).

Supongamos que propagaste el mismo recurso en dos repositorios distintos: la revisión del proxy de API y el entorno prod.

Considera el proxy de API que está configurado con la siguiente política:

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

La referencia de la política no se puede resolver de forma explícita en un repositorio. Se resuelve el primer recurso en el alcance más detallado cuyo nombre coincide con el nombre del recurso en la política.

Por lo tanto, cuando el proxy de API se implemente en el entorno prod, la política se resolverá en el recurso pathSetter.js con alcance de entorno.

Cuando se implementa en el entorno test, la política se resuelve en el recurso con alcance de revisión del proxy de API porque el recurso con alcance del entorno se encuentra en el entorno prod, no en el entorno test.

Lineamientos de recursos de Java

Puedes agregar recursos Java compilados como archivos JAR con varias opciones en curl, como la opción -F, -T o --data-binary (no la opción -d). Por ejemplo:

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

También consulta lo siguiente:

Lineamientos de recursos de Node.js

Cuando haces referencia a una secuencia de comandos de Node.js en un proxy de API, lo haces con el elemento <ResourceURL> en la configuración de TargetEndpoint del proxy de API, como se describe en Cómo agregar Node.js a un proxy de API existente. Por ejemplo:

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

Ese script de Node.js y todos los módulos de asistencia deben residir en el alcance de la revisión del proxy de API (en el directorio /resources/node del paquete del proxy). En el editor de proxy de API, agregar el recurso de Node.js a la sección Scripts permite lograr esto. Lo mismo sucede con el uso de la API (import y update) para almacenar el recurso en el alcance de la revisión del proxy de API.

Administra recursos mediante la IU

Administra los recursos con alcance de una revisión de proxy de API mediante la IU, como se describe en las siguientes secciones.

Ve los recursos con la IU

Si deseas ver los recursos con alcance a una revisión de proxy de API, haz lo siguiente:

  1. Accede a apigee.com/edge.

  2. Selecciona Desarrollar > Proxies de API en la barra de navegación izquierda.
  3. Selecciona un proxy de API en la lista para el que deseas crear un recurso.
    Se abrirá el editor de proxy de API y se mostrará la pestaña Resumen de forma predeterminada.
  4. Haz clic en la pestaña Desarrollar:
  5. Si es necesario, selecciona la revisión en el menú desplegable Revisión.

    Los recursos con alcance a la revisión del proxy de API se enumeran en la sección Recursos en la vista del navegador.

Crea un recurso mediante la IU

Para crear recursos con alcance de una revisión de proxy de API mediante la IU, haz lo siguiente:

  1. Mira los recursos con alcance a la revisión del proxy de API.
  2. Haga clic en + en la sección Recursos de la vista de Navegador para abrir el diálogo Nuevo recurso.
  3. Ingrese lo siguiente:
    Campo Descripción
    Fuente Selecciónalo para crear un archivo nuevo o importar uno.
    Tipo de archivo Selecciona un tipo de recurso de la lista desplegable.
    Nombre del archivo Nombre del archivo. La extensión del nombre del archivo debe ser válida para el tipo de archivo seleccionado.

Actualiza un recurso con la IU

Para entregar un recurso con alcance a una revisión de proxy de API mediante la IU, haz lo siguiente:

  1. Mira los recursos con alcance a la revisión del proxy de API.
  2. En la vista de navegador, en Recursos, haz clic en el recurso que quieres actualizar.
    Nota: En el caso de los archivos JAR, coloca el cursor sobre el recurso que quieres editar y haz clic en .
  3. Actualiza el recurso, según sea necesario.
    Nota: Después de subir un archivo JAR nuevo, haz clic en Actualizar.

Borra un recurso mediante la IU

Para entregar un recurso con alcance a una revisión de proxy de API mediante la IU, haz lo siguiente:

  1. Mira los recursos con alcance a la revisión del proxy de API.
  2. En la vista del navegador de Recursos, coloca el cursor sobre el recurso que quieres borrar para ver el menú de acciones.
  3. Haga clic en .
  4. Haz clic en Borrar para confirmar la acción.

Administra recursos mediante la API

Administra los recursos mediante la API, como se describe en las siguientes secciones.

Crea recursos con la API

Crea recursos con alcance a una revisión del proxy de API, un entorno o una organización (solo para Edge), como se describe en las siguientes secciones.

Crea recursos con alcance a una revisión de proxy de API mediante la API

Crea un recurso con alcance a una revisión de proxy de API con la API enviando una solicitud POST al siguiente recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/resourcefiles

Pasa la siguiente información con tu solicitud:

  • Configura el parámetro de búsqueda name en el nombre del recurso.
  • Establece el parámetro de búsqueda type en el tipo de recurso requerido.
  • Pasa el contenido del archivo de recursos como application/octet-stream o multipart/form-data.

En el siguiente ejemplo, se crea un archivo JavaScript llamado pathSetter.js para la revisión 1 del proxy de 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

En el siguiente ejemplo, se muestra cómo subir el recurso como archivo desde tu máquina local. Es importante usar -F para la carga binaria en curl a fin de que la política de JavaScript pueda acceder a los archivos de JavaScript con alcance de entorno o de organización.

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

A continuación, se proporciona un ejemplo de la respuesta de cualquiera de las llamadas a la API.

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

Para obtener más información, consulta Cómo importar un archivo de recursos para una revisión de proxy de API.

Como alternativa, puedes usar la API de Update proxy de API revision de la siguiente manera:

  1. Crea el archivo de recursos.
  2. Agrega el archivo de recursos a un paquete de configuración del proxy de API.
  3. Sube el paquete con una de las siguientes APIs:

Crea recursos con alcance para un entorno mediante la API

Crea un recurso de JavaScript que tenga un alcance a un entorno con la API enviando una solicitud POST al siguiente recurso: /organizations/{org}/environments/{env}/resourcefiles

Pasa la siguiente información con tu solicitud:

  • Configura el parámetro de búsqueda name en el nombre del recurso.
  • Establece el parámetro de búsqueda type en el tipo de recurso requerido.
  • Pasa el contenido del archivo de recursos como application/octet-stream o multipart/form-data.

En el siguiente ejemplo, se muestra la forma de actualizar un recurso de JavaScript si pasas su contenido en el cuerpo de la solicitud.

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

En el siguiente ejemplo, se muestra cómo subir el recurso como archivo desde tu máquina local. Es importante usar -F para la carga binaria en curl a fin de que la política de JavaScript pueda acceder a los archivos de JavaScript con alcance de entorno o de organización.

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

A continuación, se proporciona un ejemplo de la respuesta.

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

Crea recursos con alcance para la organización a través de la API

Para crear un recurso con alcance de una organización con la API, envía una solicitud POST al siguiente recurso: https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles

Pasa la siguiente información con tu solicitud:

  • Configura el parámetro de búsqueda name en el nombre del recurso.
  • Establece el parámetro de búsqueda type en el tipo de archivo de recursos (consulta Tipos de recursos).
  • Pasa el contenido del archivo de recursos como application/octet-stream o multipart/form-data.

Para obtener más información, consulta Cómo importar un archivo de recursos para una organización.

Ve recursos con la API

En las siguientes secciones, se describe cómo ver recursos mediante la API.

Ve todos los recursos con la API

Con la API, puedes ver los recursos con alcance a una revisión del proxy de API, un entorno o una organización.

Por ejemplo, para ver los recursos de los recursos con alcance de entorno a través de la API, envía una solicitud GET al siguiente recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/resourcefiles

En el siguiente ejemplo, se enumeran todos los recursos en el entorno test:

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

A continuación, se proporciona un ejemplo de la respuesta.

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

Visualiza el contenido de un recurso con la API

Visualiza el contenido de un recurso con la API, como se describe en las siguientes secciones.

Con la API, puedes ver los recursos con alcance a una revisión del proxy de API, un entorno o una organización.

Por ejemplo, para ver el contenido de un recurso en un entorno con la API, envía una solicitud GET al siguiente recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/name

En el siguiente ejemplo, se enumeran los contenidos del archivo de recursos JavaScript pathSetter.js en el entorno 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

A continuación, se proporciona un ejemplo de la respuesta.

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

Actualiza recursos mediante la API

Actualiza recursos con alcance a una revisión del proxy de API, un entorno o una organización (solo para Edge), como se describe en las siguientes secciones.

Actualiza recursos con alcance a una revisión de proxy de API con la API

Actualiza un recurso con alcance a una revisión de proxy de API con la API enviando una solicitud PUT al siguiente recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/resourcefiles/{type}/{name}

Pasa el contenido del archivo de recursos como application/octet-stream o multipart/form-data.

En el siguiente ejemplo, se actualiza el recurso JavaScript llamado pathSetter para la revisión 1 del proxy de 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

En el siguiente ejemplo, se muestra cómo actualizar el recurso como archivo desde tu máquina local. Es importante usar -F para la carga binaria en curl a fin de que la política de JavaScript pueda acceder a los archivos de JavaScript con alcance de entorno o de organización.

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

A continuación, se proporciona un ejemplo de la respuesta de cualquiera de las llamadas a la API.

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

Para obtener más información, consulta Cómo importar un archivo de recursos para una revisión de proxy de API.

Como alternativa, puedes usar la API de Update proxy de API revision de la siguiente manera:

  1. Descarga el paquete de configuración del proxy de API con la API de exportación de proxy de API con las siguientes opciones:
    • Establece el parámetro de consulta format en bundle
    • Configura el encabezado Accept como application/zip.
  2. Actualiza el archivo de recursos en el paquete de configuración del proxy de API.
  3. Sube el paquete con la API de actualización de la revisión del proxy de API.

Actualiza los recursos con alcance para un entorno mediante la API

Actualiza un recurso que tiene un alcance a un entorno con una API mediante la emisión de una solicitud PUT al siguiente recurso: /organizations/{org}/environments/{env}/resourcefiles/{type}/{name}

Pasa el contenido del archivo de recursos como application/octet-stream o multipart/form-data.

En el siguiente ejemplo, se muestra la forma de actualizar un recurso de JavaScript si pasas su contenido en el cuerpo de la solicitud.

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

En el siguiente ejemplo, se muestra cómo actualizar el archivo de recursos mediante un archivo de tu máquina local. Es importante usar -F para la carga binaria en curl a fin de que la política de JavaScript pueda acceder a los archivos de JavaScript con alcance de entorno o de organización.

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

A continuación, se proporciona un ejemplo de la respuesta.

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

Actualiza los recursos con alcance para la organización mediante la API

Para actualizar un recurso que tiene un alcance a una organización con la API, envía una solicitud POST al siguiente recurso: https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles/{type}/{name}

Pasa el contenido del archivo de recursos como application/octet-stream o multipart/form-data.

Para obtener más información, consulta Cómo importar un archivo de recursos para una organización.

Borra recursos mediante la API

Borra el recurso con alcance a una revisión del proxy de API, un entorno o una organización (solo para Edge), como se describe en las siguientes secciones.

Borra recursos con alcance para una revisión de proxy de API mediante la API

Para borrar un recurso con alcance para una revisión de proxy de API mediante la API, envía una solicitud DELETE al siguiente recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/resourcefiles/{type}/{name}

En el siguiente ejemplo, se borra el archivo de recursos JavaScript pathSetter.js de la revisión 1 del proxy de API de helloworld:

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

A continuación, se proporciona un ejemplo de la respuesta.

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

Como alternativa, puedes usar la API de Update proxy de API revision de la siguiente manera:

  1. Descarga el paquete de configuración del proxy de API con la API de exportación de proxy de API con las siguientes opciones:
    • Establece el parámetro de consulta format en bundle
    • Configura el encabezado Accept como application/zip.
  2. Borra el archivo de recursos del paquete de configuración del proxy de API.
  3. Sube el paquete con la API de actualización de la revisión del proxy de API.

Borra un recurso con alcance para un entorno mediante la API

Borra un recurso con alcance de entorno con la API, como se describe en las siguientes secciones.

Para borrar un recurso con alcance de entorno mediante la API, envía una solicitud DELETE al siguiente recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}

En el siguiente ejemplo, se borra el archivo de recursos JavaScript pathSetter.js del entorno test:

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

A continuación, se proporciona un ejemplo de la respuesta.

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

Borra recursos con alcance para la organización mediante la API (solo para Edge)

Para borrar un recurso que tiene un alcance a una organización con la API, envía una solicitud DELETE al siguiente recurso: https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles/{type}/{name}

Para obtener más información, consulta Borra un archivo de recursos de una organización.

Accede al recurso

La forma en la que accedes al recurso depende del tipo de recurso. Para obtener más información, consulte la documentación de la política correspondiente.

En los ejemplos de esta sección, se muestra cómo crear y administrar un recurso de JavaScript llamado pathSetter.js para permitir que se haga referencia a él en las políticas de tipo JavaScript.

Para adjuntar el código JavaScript al PostFlow de solicitud, crea una política llamada PathSetterPolicy.xml que haga referencia al archivo pathSetter.js:

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

Luego, haz referencia a la política en la Configuración de extremos:

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

Para obtener más información, consulta la política de JavaScript.