Usar 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 almacenan datos. Los proxies de API pueden recuperar estos datos cuando se ejecutan.

¿Por qué usar conjuntos de propiedades?

Normalmente, los conjuntos de propiedades se usan para almacenar datos que no caducan y que no deben estar codificados en la lógica de tu proxy de API. Puede acceder a los datos de conjuntos de propiedades en cualquier lugar de un proxy donde pueda acceder a variables de flujo.

Un caso práctico habitual de los conjuntos de propiedades es proporcionar valores asociados a un entorno u otro. Por ejemplo, puedes crear un conjunto de propiedades con ámbito de entorno con valores de configuración específicos de los proxies que se ejecutan en tu entorno de prueba y otro conjunto 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.

Del mismo modo, puedes almacenar información de enrutamiento específica 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.

Ámbitos de los conjuntos de propiedades

Puede acotar un conjunto de propiedades a una revisión o un entorno de un proxy de API al crear el conjunto de propiedades. No puede limitar el alcance de un conjunto de propiedades a una organización.

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

Ámbito Comportamiento en tiempo de ejecución Administración
proxy de API Las propiedades solo están disponibles para la revisión del proxy de API que contiene el recurso de conjunto de propiedades. Ningún otro proxy de API ni ninguna otra revisión del mismo proxy pueden acceder a ese conjunto de propiedades concreto. Los administradores pueden usar la API /resourcefiles de Apigee o la interfaz de usuario para crear y editar conjuntos de propiedades. Si guarda el proxy de API en la interfaz de usuario, se creará una revisión y el conjunto de propiedades modificado se asociará solo a esa revisión.
Entorno Las propiedades están disponibles para todas las revisiones de todos los proxies de API de ese entorno. Los proxies de API de otros entornos no pueden acceder a ese conjunto de propiedades. Los administradores deben usar la API /resourcefiles de Apigee para crear, ver, actualizar o eliminar conjuntos de propiedades de ámbito de entorno. Estos conjuntos de propiedades no se muestran y no se pueden editar en la interfaz de Apigee.

Límites de conjuntos de propiedades

Apigee impone límites a los conjuntos de propiedades, tal 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 se pueden usar llaves {} en los archivos de conjunto de propiedades.

Crear archivos de conjunto de propiedades

Normalmente, 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 de tipo properties.

Los archivos de conjunto de propiedades admiten la misma sintaxis que los archivos de propiedades de Java. Por ejemplo, pueden contener valores Unicode y usar los caracteres # o ! como marcadores de comentarios. Sin embargo, hay una excepción: no puedes usar llaves {} en los archivos de conjunto de propiedades.

Debe añadir el sufijo .properties al nombre de un archivo de propiedades. Por ejemplo: myconfig.my_key.properties se permite, pero myconfig.my_key no.

La estructura de una especificación de conjunto de propiedades es la siguiente: property_set_name.property_name.properties El nombre del conjunto de propiedades y el nombre de la propiedad no pueden contener puntos. Por ejemplo: myconfig.my_key.properties se permite, pero myconfig.my.key.properties y my.config.my_key.properties no.

En el siguiente ejemplo se muestra un archivo de conjunto de propiedades sencillo 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, súbelo a Apigee mediante la interfaz de usuario o la API.

Gestionar conjuntos de propiedades con la interfaz de usuario

Gestiona conjuntos de propiedades acotados a una revisión de proxy de API mediante la interfaz de usuario de la misma forma que gestionas otros recursos. Para obtener más información, consulta el artículo sobre cómo gestionar recursos mediante la interfaz de usuario.

Gestionar conjuntos de propiedades con la API

Gestiona conjuntos de propiedades acotados a una revisión o un entorno de proxy de API mediante la API, tal como se describe en las siguientes secciones.

Crear conjuntos de propiedades con la API

En las siguientes secciones se describe cómo crear conjuntos de propiedades acotados a una revisión o un entorno de proxy de API mediante la API.

Crear conjuntos de propiedades con ámbito en una revisión de proxy de API mediante la API

Para crear un conjunto de propiedades cuyo ámbito sea una revisión de un proxy de API mediante la API, sigue estos pasos:

  1. Cree el archivo de conjunto de propiedades.
  2. Añade el archivo de conjunto de propiedades a un paquete de configuración de proxy de API.
  3. Sube el paquete mediante la API Create API proxy o la API Update API proxy revision.

Crear conjuntos de propiedades acotados a un entorno con la API

Para añadir un conjunto de propiedades que esté acotado a un entorno mediante la API, crea el archivo del conjunto de propiedades y, a continuación, súbelo a un entorno de tu organización enviando una solicitud POST al siguiente recurso: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles

Incluye la siguiente información en tu solicitud:

  • Asigna al parámetro de consulta name el nombre del conjunto de propiedades.
  • Asigna el valor properties al parámetro de consulta type.
  • Transfiere 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 del 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
  

$TOKEN se define como tu token de acceso OAuth 2.0, tal como se describe en Obtener un token de acceso OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usar curl.

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

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

Para obtener más información, consulte Crear API de archivo de recursos.

Ver conjuntos de propiedades con la API

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

Ver todos los conjuntos de propiedades de un entorno mediante la API

Para ver todos los conjuntos de propiedades 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

En el siguiente ejemplo se muestran todos los conjuntos de propiedades del entorno de prueba:

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

$TOKEN se define como tu token de acceso OAuth 2.0, tal como se describe en Obtener un token de acceso OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usar curl.

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

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

Para obtener más información, consulte la API List environment resource files.

Ver el contenido de un conjunto de propiedades acotado a un entorno mediante la API

Para ver el contenido de un conjunto de propiedades acotado a un entorno mediante la API, envíe 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 definida 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"
  

$TOKEN se define como tu token de acceso OAuth 2.0, tal como se describe en Obtener un token de acceso OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usar curl.

A continuación, se muestra 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, consulte la API List environment resource files.

Actualizar conjuntos de propiedades mediante la API

En las siguientes secciones se describe cómo actualizar los conjuntos de propiedades cuyo ámbito se limita a una revisión o un entorno de un proxy de API mediante la API.

Actualizar conjuntos de propiedades con ámbito de una revisión de proxy de API mediante la API

Para actualizar un conjunto de propiedades cuyo ámbito es una revisión de un proxy de API mediante la API, siga estos pasos:

  1. Actualice el archivo de conjunto de propiedades.
  2. Descarga el paquete de configuración del proxy de API mediante la API Get API proxy revision con las siguientes opciones:
    • Asigna el valor bundle al parámetro de consulta format.
    • Asigna el valor application/zip al encabezado Accept.
  3. Añade el archivo de conjunto de propiedades al paquete de configuración del proxy de API.
  4. Sube el paquete de configuración del proxy de API mediante la API Update API proxy revision.

Actualizar conjuntos de propiedades de un entorno mediante la API

Para actualizar un conjunto de propiedades cuyo ámbito sea un entorno mediante la API, actualice el archivo del conjunto de propiedades y, a continuación, súbalo a un entorno de su organización enviando una solicitud PUT al siguiente recurso: https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}

Incluye la siguiente información en tu solicitud:

  • Asigna el valor properties a {type}
  • Asigna {name} al nombre del conjunto de propiedades que quieras actualizar.
  • Transfiere 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 con 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
  

$TOKEN se define como tu token de acceso OAuth 2.0, tal como se describe en Obtener un token de acceso OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usar curl.

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

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

Para obtener más información, consulte la API Update resource file.

Eliminar conjuntos de propiedades mediante la API

En las siguientes secciones se describe cómo eliminar conjuntos de propiedades cuyo ámbito se limita a una revisión o un entorno de un proxy de API mediante la API.

Eliminar conjuntos de propiedades cuyo ámbito sea una revisión de un proxy de API mediante la API

Para eliminar un conjunto de propiedades cuyo ámbito sea una revisión de un proxy de API mediante la API, sigue estos pasos:

  1. Descarga el paquete de configuración del proxy de API mediante la API Get API proxy revision con las siguientes opciones:
    • Asigna el valor bundle al parámetro de consulta format.
    • Asigna el valor application/zip al encabezado Accept.
  2. Elimina el archivo de 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 Update API proxy revision.

Eliminar conjuntos de propiedades de un entorno mediante la API

Para eliminar un conjunto de propiedades con ámbito en 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}

Incluye la siguiente información en tu solicitud:

  • Asigna el valor properties a {type}
  • Asigna a {name} el nombre del conjunto de propiedades que quieras eliminar.

En el siguiente ejemplo se elimina 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"
  

$TOKEN se define como tu token de acceso OAuth 2.0, tal como se describe en Obtener un token de acceso OAuth 2.0. Para obtener información sobre las opciones de curl que se usan en este ejemplo, consulta Usar curl.

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

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

Para obtener más información, consulte la API Delete resource file.

Acceder a los valores del conjunto de propiedades

Accede a los valores de las propiedades definidas en cualquier parte de un proxy de API en la que puedas acceder a variables de flujo: en políticas, flujos, código JavaScript, etc.

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

propertyset.[property_set_name].[property_name]

Donde:

  • property_set_name es el nombre de archivo que has definido (si has usado la interfaz de usuario) o el valor del parámetro de consulta name (si has usado la API).
  • property_name es el nombre de la propiedad. Por ejemplo, si su propiedad contiene foo=bar, foo es el nombre de la propiedad y bar es el valor.

Por ejemplo, en una política de JavaScript, utilice 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 del conjunto de propiedades denominado "MyPropSet":

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

También puedes usar la política ExtractVariables para obtener el valor de una propiedad de un conjunto de propiedades y asignárselo 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 del elemento Pattern.

Asignar dinámicamente el valor de una clave de conjunto de propiedades mediante la política Assign Message

Puede usar la política Asignar mensaje para asignar dinámicamente el valor de la clave de propiedad definida a una variable de flujo. Para obtener más información, consulta la descripción de PropertySetRef en la referencia de la política Assign Message.

Para usuarios de Apigee Hybrid

Si usas Apigee hybrid, ten en cuenta lo siguiente:

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