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 propiedadlog-level=error
. - El conjunto de propiedades
test-env.properties
contiene la propiedadlog-level=debug
.
Del mismo modo, puedes almacenar información de enrutamiento específica del entorno:
- El conjunto de propiedades
test-env.properties
contiene la propiedaddb-url=mydomain.test.datasource.com
. - El conjunto de propiedades
prod-env.properties
contiene la propiedaddb-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:
- Cree el archivo de conjunto de propiedades.
- Añade el archivo de conjunto de propiedades a un paquete de configuración de proxy de API.
- 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 consultatype
. - Transfiere el contenido del archivo de conjunto de propiedades como
application/octet-stream
omultipart/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:
- Actualice el archivo de conjunto de propiedades.
- 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 consultaformat
. - Asigna el valor
application/zip
al encabezadoAccept
.
- Asigna el valor
- Añade el archivo de conjunto de propiedades al paquete de configuración del proxy de API.
- 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
omultipart/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:
- 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 consultaformat
. - Asigna el valor
application/zip
al encabezadoAccept
.
- Asigna el valor
- Elimina el archivo de conjunto de propiedades del paquete de configuración del proxy de API.
- 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 ybar
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:
- 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.
- El sincronizador recupera los datos del conjunto de propiedades y los almacena de forma local en el plano de ejecución.
- El procesador de mensajes carga el conjunto de propiedades descargado y lo pone a disposición de los proxies en ejecución.