Administra recursos

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

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 código JavaScript de muestra, se configura la ruta de 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 que se implementarán en destinos alojados. Puedes implementar Node.js como aplicaciones de destino de backend de Edge.
Node (node) Archivos de Node.js, incluidos el archivo principal de Node.js, los archivos de origen 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 estas 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 de 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 solo tiene acceso al recurso de JavaScript, mientras que 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 más adelante 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 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 hasta el más general. Los nombres de los recursos se resuelven “por la cadena”, desde el nivel de revisión del proxy de la API hasta el nivel del entorno y el nivel de la organización (solo 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 se configura 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 resolverá en el recurso con permiso de revisión del proxy de API, ya que este recurso está en el entorno prod, no en 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 para los 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 TargetEndpoint del proxy de API, como se describe en Agrega Node.js a un proxy de API existente. Por ejemplo:

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

Esa secuencia de comandos de Node.js y todos los módulos compatibles deben residir en el alcance de revisión del proxy de la API (en el directorio /resources/node del paquete del proxy). En el Editor de proxy de API, puedes agregar el recurso Node.js a la sección de secuencias de comandos. Al igual que el uso de la API (import y actualización) para almacenar el recurso en el alcance de 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 Overview 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. Ingresa el siguiente comando:
    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 del navegador, en Recursos, haz clic en el recurso que deseas actualizar.
    Nota: Para archivos JAR, coloca el cursor sobre el recurso que deseas 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.

Crear recursos con la API

Crea recursos que tengan alcances para 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 para una revisión del proxy de la API mediante la API. Para ello, emite 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 de 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"
}

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

Como alternativa, puedes usar la API de revisión del proxy de la API de Update 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 usando una de las siguientes APIs:

Crea recursos con alcance para un entorno mediante la API

Crea un recurso de JavaScript que tenga alcance en un entorno mediante la API. Para ello, emite 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 cómo crear un recurso de JavaScript pasando 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"
}

Crear recursos con alcance para la organización mediante la API

Si deseas crear un recurso que tenga alcance para una organización que usa la API, emite 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 consulta type como tipo de archivo de recurso (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.

Cómo ver recursos con la API

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

Visualiza todos los recursos con la API

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

Por ejemplo, para ver los recursos de los recursos cuyo alcance es específico mediante la API, emite 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 mediante 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 en una revisión del proxy de la API, un entorno o una organización.

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

En el siguiente ejemplo, se muestra el contenido del archivo de recursos de 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 los recursos que tienen alcance para 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

Actualizar un recurso con alcance a una revisión del proxy de la API mediante la API emitiendo 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 de 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 un 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"
}

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

Como alternativa, puedes usar la API de revisión del proxy de la API de Update de la siguiente manera:

  1. Descarga el paquete de configuración de proxy de API mediante la API de proxy de API de exportación 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 revisión del proxy de la API de actualización.

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 cómo actualizar un recurso JavaScript pasando 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 permisos para la organización mediante la API

Para actualizar un recurso que tiene permiso para una organización que usa la API, emite 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 que se limita a una revisión del proxy de la 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 que se limita a una revisión del proxy de la API mediante la API, emite 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 la API de gcloud:

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 revisión del proxy de la API de Update de la siguiente manera:

  1. Descarga el paquete de configuración de proxy de API mediante la API de proxy de API de exportación 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 revisión del proxy de la API de actualización.

Borrar un recurso que se limita a 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 en un entorno mediante la API, emite 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 permisos para la organización mediante la API (solo para Edge)

Para borrar un recurso que tiene permiso para una organización que usa la API, emite una solicitud DELETE al siguiente recurso: https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles/{type}/{name}

Para obtener más información, consulta Cómo borrar 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.