Usa conjuntos de propiedades

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Un conjunto de propiedades es una colección personalizada de pares clave-valor que almacena datos. Los proxies de API pueden recuperar estos datos cuando se ejecutan.

¿Por qué usar conjuntos de propiedades?

Por lo general, usas conjuntos de propiedades para almacenar datos que nunca vencen que no deben codificarse en la lógica del proxy de API. Puedes acceder a los datos de conjuntos de propiedades en cualquier ubicación de un proxy en el que puedas acceder a variables de flujo.

Un caso de uso común para los conjuntos de propiedades es proporcionar valores asociados con un entorno o con otro. Por ejemplo, puedes crear un conjunto de propiedades con alcance de entorno con valores de configuración específicos de los proxies que se ejecutan en tu entorno de prueba y otro para tu entorno de producción.

Por ejemplo:

  • El conjunto de propiedades prod-env.properties contiene la propiedad log-level=error
  • El conjunto de propiedades test-env.properties contiene la propiedad log-level=debug

De forma similar, puedes almacenar información de enrutamiento específico del entorno:

  • El conjunto de propiedades test-env.properties contiene la propiedad db-url=mydomain.test.datasource.com
  • El conjunto de propiedades prod-env.properties contiene la propiedad db-url=mydomain.prod.datasource.com

Alcances del conjunto de propiedades

Cuando creas el conjunto de propiedades, puedes definir el alcance de este para una revisión o un entorno de proxy de API. No puedes alcanzar un conjunto de propiedades establecido en una organización.

En la siguiente tabla, se explica el comportamiento y la administración de los conjuntos de propiedades con el proxy de API y el alcance de la organización:

Alcance Comportamiento del entorno de ejecución Administración
Proxy de API Las propiedades están disponibles solo para la revisión del proxy de API que contiene el recurso de conjunto de propiedades. Ningún otro proxy de API o revisión del mismo proxy puede acceder a ese conjunto de propiedades en particular. Los administradores pueden usar la API de Apigee de /resourcefiles o la IU para crear y editar conjuntos de propiedades. Guardar el proxy de API en la IU creará una revisión nueva, y el conjunto de propiedades modificado se asociará solo con esa revisión.
Entorno Las propiedades están disponibles para todas las revisiones de todos los proxies de API dentro de ese entorno. Los proxies de API de otros entornos no pueden acceder a ese conjunto de propiedades. Los administradores deben usar la API de Apigee /resourcefiles para crear, ver, actualizar o borrar conjuntos de propiedades con alcance de entorno. Estos conjuntos de propiedades no se muestran y no se pueden editar en la IU de Apigee.

Límites del conjunto de propiedades

Apigee impone límites a los conjuntos de propiedades, como se describe en Límites. Además, los archivos de conjunto de propiedades deben usar la misma sintaxis que los archivos de propiedades de Java, con una excepción: no puedes usar llaves {} en los archivos de conjunto de propiedades.

Crea archivos del conjunto de propiedades

Por lo general, los valores del conjunto de propiedades se almacenan como pares nombre-valor en un archivo. Los archivos de conjunto de propiedades son archivos de recursos del tipo properties.

Los archivos de conjunto de propiedades admiten la misma sintaxis que los archivos de propiedades Java, por ejemplo, pueden contener valores Unicode y pueden usar caracteres # o ! como marcadores de comentarios. Ten en cuenta esta excepción: no puedes usar llaves {} en los archivos del conjunto de propiedades.

Debes agregar el sufijo .properties a un nombre de archivo de propiedad. Por ejemplo: myconfig.my_key.properties está permitido, pero no se permite myconfig.my_key.

La estructura de una especificación de conjunto de propiedades es: property_set_name.property_name.properties. El nombre de la propiedad y el nombre del conjunto de propiedades no pueden tener puntos. Por ejemplo: myconfig.my_key.properties está permitido, pero myconfig.my.key.properties y my.config.my_key.properties no están permitidos.

El siguiente ejemplo muestra un archivo simple del conjunto de propiedades que define varias propiedades:

# myProps.properties file
# General properties
foo=bar
baz=biff

# Messages/notes/warnings
message=This is a basic message.
note_message=This is an important message.
error_message=This is an error message.

# Keys
publickey=abc123
privatekey=splitwithsoundman

Después de crear un archivo de conjunto de propiedades, debes subirlo a Apigee mediante la IU o la API.

Administra conjuntos de propiedades mediante la IU

Administra los conjuntos de propiedades con alcance a una revisión de proxy de API mediante el uso de la IU de la misma manera en la que administras otros recursos. Para obtener más información, consulta Administra recursos mediante la IU.

Administra conjuntos de propiedades mediante la API

Administra los conjuntos de propiedades con alcance a una revisión de proxy de API o entorno mediante la API, como se describe en las secciones a continuación.

Crea conjuntos de propiedades con la API

En las siguientes secciones, se describe cómo crear conjuntos de propiedades con alcance para una revisión de proxy de API o entorno mediante la API.

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

Si quieres crear un conjunto de propiedades con el alcance de una revisión de proxy de API mediante la API, sigue estos pasos:

  1. Crea el archivo del conjunto de propiedades.
  2. Agrega el archivo del conjunto de propiedades a un paquete de configuración del proxy de API.
  3. Sube el paquete mediante las API Crear proxy de API o Actualizar revisión del proxy de la API.

Crea conjuntos de propiedades con alcance a un entorno mediante la API

Para agregar un conjunto de propiedades que esté limitado a un entorno con la API, crea el archivo del conjunto de propiedades y, luego, súbelo a un entorno de tu organización mediante el envío la solicitud POST al siguiente recurso: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles

Debes incluir la siguiente información en tu solicitud:

  • Establece el parámetro de consulta name en el nombre del conjunto de propiedades
  • Establece el parámetro de consulta type en properties
  • Pasa el contenido del archivo de conjunto de propiedades como application/octet-stream o multipart/form-data

En el siguiente ejemplo, se importa un conjunto de propiedades llamado MyPropSet desde el archivo /Users/myhome/myprops.properties:

curl -X POST "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles?name=MyPropSet&type=properties"
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: multipart/form-data" \
  -F file=@/Users/myhome/myprops.properties
  

En el ejemplo anterior, $TOKEN está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usa curl.

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

{
  "name": "MyPropSet",
  "type": "properties"
}

Para obtener más información, consulta Crea una API de archivo de recursos.

Ver conjuntos de propiedades mediante la API

En las siguientes secciones, se describe cómo ver conjuntos de propiedades con alcance a un entorno mediante la API.

Visualiza todos los conjuntos de propiedades a un entorno mediante la API

Para ver todos los conjuntos de propiedades delimitados a un entorno mediante la API, envía una solicitud GET al siguiente recurso: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/properties

En el siguiente ejemplo, se muestra una lista de todos los conjuntos de propiedades en el entorno de prueba:

curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties" \
  -H "Authorization: Bearer $TOKEN"
  

En el ejemplo anterior, $TOKEN está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usa curl.

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

{
  "resourceFile": [
    {
      "name": "MyPropSet",
      "type": "properties"
    }
  ]
}

Para obtener más información, consulta API de archivos de recursos del entorno de lista.

Visualiza el contenido de un conjunto de propiedades definido para un entorno mediante la API

Para ver el contenido de un conjunto de propiedades específico de un entorno mediante la API, envía una solicitud GET al siguiente recurso: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/properties/name

En el siguiente ejemplo, se muestra el contenido de la propiedad MyPropSet establecida en el entorno de prueba:

curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet" \
  -H "Authorization: Bearer $TOKEN"
  

En el ejemplo anterior, $TOKEN está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usa curl.

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

# myProps.properties file
# General properties
foo=bar
baz=biff

# Messages/notes/warnings
message=This is a basic message.
note_message=This is an important message.
error_message=This is an error message.

# Keys
publickey=abc123
privatekey=splitwithsoundman

Para obtener más información, consulta API de archivos de recursos del entorno de lista.

Actualiza conjuntos de propiedades mediante la API

En las secciones siguientes, se describe cómo actualizar conjuntos de propiedades con alcance para una revisión de proxy de API o entorno mediante la API.

Actualiza para una revisión de proxy de API o entorno mediante la API

Si deseas actualizar un conjunto de propiedades con el alcance de una revisión de proxy de API mediante la API, sigue estos pasos:

  1. Actualiza el archivo del conjunto de propiedades.
  2. Descarga el paquete de configuración del proxy de API mediante Obtén la API de revisió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.
  3. Agrega el archivo del conjunto de propiedades a un paquete de configuración del proxy de API.
  4. Sube el paquete de configuración del proxy de API mediante la API de actualización de la revisión del proxy de la API.

Actualiza los conjuntos de propiedades con alcance a un entorno mediante la API

Para actualizar un conjunto de propiedades con alcance a un entorno mediante la API, actualiza el archivo del conjunto de propiedades y, luego, súbelo a un entorno de tu organización mediante una solicitud PUT a la siguiente recurso: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}

Debes incluir la siguiente información en tu solicitud:

  • Configura {type} en properties.
  • Configura {name} con el nombre del conjunto de propiedades que deseas actualizar.
  • Pasa el contenido del archivo de conjunto de propiedades como application/octet-stream o multipart/form-data

En el siguiente ejemplo, se actualiza el conjunto de propiedades MyPropSet mediante el contenido del archivo /Users/myhome/myprops-revised.properties:

curl -X PUT "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet"
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: multipart/form-data" \
  -F file=@/Users/myhome/myprops-revised.properties
  

En el ejemplo anterior, $TOKEN está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usa curl.

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

{
  "name": "MyPropSet",
  "type": "properties"
}

Para obtener más información, consulta Actualiza la API de archivo de recursos.

Borra conjuntos de propiedades mediante la API

En las siguientes secciones, se describe cómo borrar conjuntos de propiedades con alcance para una revisión de proxy de API o entorno mediante la API.

Borra conjuntos de propiedades con alcance a una revisión de proxy de API mediante la API

Para borrar un conjunto de propiedades con alcance una revisión de proxy de API mediante la API, haz lo siguiente:

  1. Descarga el paquete de configuración del proxy de API mediante Obtén la API de revisió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 del conjunto de propiedades del paquete de configuración del proxy de API.
  3. Sube el paquete de configuración del proxy de API mediante la API de actualización de la revisión del proxy de la API.

Borra los conjuntos de propiedades con alcance a un entorno mediante la API

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

Pasa la siguiente información con tu solicitud:

  • Configura {type} en properties.
  • Configura {name} con el nombre del conjunto de propiedades que deseas borrar.

En el siguiente ejemplo, se borra el conjunto de propiedades MyPropSet:

curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet \
  -H "Authorization: Bearer $TOKEN"
  

En el ejemplo anterior, $TOKEN está configurado como tu token de acceso de OAuth 2.0, como se describe en Obtén un token de acceso de OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usa curl.

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

{
  "name": "MyPropSet",
  "type": "properties"
}

Para obtener más información, consulta Borra la API de archivo de recursos.

Accede a los valores de conjuntos de propiedades

Accede a los valores de propiedad de propiedades en cualquier lugar de un proxy de API en el que puedes acceder a variables de flujo: en políticas, flujos, código de JavaScript, etcétera.

Para acceder a los valores de un conjunto de propiedades, usa la siguiente sintaxis:

propertyset.[property_set_name].[property_name]

Aquí:

  • property_set_name es el nombre de archivo que definiste (si usaste la IU) o el valor del parámetro de consulta name (si usaste la API).
  • property_name es el nombre de la propiedad. Por ejemplo, si tu conjunto de propiedades contiene foo=bar, foo es el nombre de la propiedad y bar es el valor.

Por ejemplo, en una política de JavaScript, usa el método getVariable() para obtener un valor de un conjunto de propiedades:

context.getVariable('propertyset.property_set_name.property_name);

En el siguiente ejemplo, se obtiene el valor de la propiedad foo en el conjunto de propiedades llamado “MyPropSet”:

context.getVariable('propertyset.MyPropSet.foo);

También puedes usar la política de ExtractVariables para obtener el valor de una propiedad de un conjunto de propiedades y asignarlo a otra variable, como se muestra en el siguiente ejemplo:

<ExtractVariables name="ExtractVariables-1">
   <DisplayName>Extract a portion of the url path</DisplayName>
   <Source>request</Source>
   <Variable name="propertyset.MyPropSet.foo">
      <Pattern>{myVar}</Pattern>
   </Variable>
   <VariablePrefix>foobar</VariablePrefix>
   <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</ExtractVariables>

En este ejemplo, la política lee la variable del atributo name y asigna el valor a la variable en el elemento Pattern.

Asigna el valor de una clave de conjunto de propiedades de forma dinámica mediante la política Asignar mensaje

Puedes usar la política Asignar mensaje para asignar el valor de la clave del conjunto de propiedades a una variable de flujo de manera dinámica. Para obtener más detalles, consulta la descripción de PropertySetRef en la referencia de política de asignación de mensajes.

Para usuarios híbridos de Apigee

Si usas Apigee Hybrid, ten en cuenta lo siguiente:

  1. El plano de administración híbrida valida el conjunto de propiedades. Si es válido, las propiedades se almacenan en el plano de administración.
  2. El sincronizador recupera los datos del conjunto de propiedades y los almacena de forma local en el plano del entorno de ejecución.
  3. El procesador de mensajes carga el conjunto de propiedades descargado y lo pone a disposición para ejecutar proxies.