Compartir a través de


Use el tipo de contenido para almacenar los pares clave-valor JSON en App Configuration.

Los datos se almacenan en App Configuration como pares clave-valor, donde se tratan de forma predeterminada como el tipo de cadena. Sin embargo, puede especificar un tipo personalizado mediante la propiedad de tipo de contenido asociada a cada clave-valor. Este proceso conserva el tipo original de los datos o hace que la aplicación se comporte de forma diferente en función del tipo de contenido.

Información general

En App Configuration, puede usar el tipo de elemento multimedia JSON como el tipo de contenido de los pares clave-valor para obtener las siguientes ventajas:

  • Una administración de datos más sencilla: la administración de los pares clave-valor, como la de las matrices, es mucho más fácil en Azure Portal.
  • Una exportación de datos mejorada: los tipos primitivos, las matrices y los objetos JSON se conservan durante la exportación de datos.
  • Compatibilidad nativa con el proveedor de App Configuration: los pares clave-valor con el tipo de contenido JSON funcionan correctamente cuando los usan las bibliotecas de proveedores de App Configuration en las aplicaciones.

Tipo de contenido JSON válido

Los tipos de elementos multimedia, tal como se definen aquí, se pueden asignar al tipo de contenido asociado con cada par clave-valor. Un tipo de elemento multimedia consta de un tipo y un subtipo. Si el tipo es application y el subtipo (o sufijo) es json, el tipo de elemento multimedia se considerará un tipo de contenido JSON válido. Algunos ejemplos de tipos de contenido JSON válidos son:

  • application/json
  • application/activity+json
  • application/vnd.foobar+json;charset=utf-8

Valores válidos de JSON

Cuando un par clave-valor tiene un tipo de contenido JSON, su valor debe tener un formato JSON válido para que los clientes lo puedan procesar correctamente. De lo contrario, los clientes pueden generar un error o retroceder y tratarlo como formato de cadena. Algunos ejemplos de valores válidos de JSON son:

  • "John Doe"
  • 723
  • false
  • null
  • "2020-01-01T12:34:56.789Z"
  • [1, 2, 3, 4]
  • {"ObjectSetting":{"Targeting":{"Default":true,"Level":"Information"}}}

Nota

En el resto de este artículo, cualquier par clave-valor de App Configuration que tenga un tipo de contenido JSON válido y un valor JSON válido se denominará valor clave JSON.

En este tutorial, aprenderá a:

  • Crear pares clave-valor JSON en App Configuration.
  • Importar los pares clave-valor JSON desde un archivo JSON.
  • Exportar los pares clave-valor JSON a un archivo JSON.
  • Consumir pares clave-valor JSON en las aplicaciones.

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

Requisitos previos

  • Un almacén de App Configuration. Crear un almacén.
  • Este tutorial requiere la versión 2.10.0 o posterior de la CLI de Azure. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.

Creación de pares clave-valor JSON en App Configuration

Los pares clave-valor JSON se pueden crear mediante Azure Portal, la CLI de Azure o importándolos desde un archivo JSON. En esta sección, encontrará instrucciones sobre la creación de los mismos pares clave-valor JSON mediante tres métodos.

Creación de pares clave-valor JSON mediante Azure Portal

Agregue los siguientes pares de clave-valor al almacén de App Configuration. Deje Etiqueta con su valor predeterminado. Para obtener más información sobre cómo agregar pares clave-valor a un almacén mediante Azure Portal o la CLI, vaya a Creación de un par clave-valor.

Clave Value Tipo de contenido
Settings:BackgroundColor "Verde" application/json
Settings:FontSize 24 application/json
Settings:UseDefaultRouting false application/json
Settings:BlockedUsers null application/json
Settings:ReleaseDate "2020-08-04T12:34:56.789Z" application/json
Settings:RolloutPercentage [25,50,75,100] application/json
Settings:Logging {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}} application/json
  1. Seleccione Aplicar.

Creación de pares clave-valor JSON mediante la CLI de Azure

Los siguientes comandos crearán pares clave-valor JSON en el almacén de App Configuration. Reemplace <appconfig_name> por el nombre del almacén de App Configuration.

appConfigName=<appconfig_name>
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:BackgroundColor --value \"Green\"
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:FontSize --value 24
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:UseDefaultRouting --value false
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:BlockedUsers --value null
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:ReleaseDate --value \"2020-08-04T12:34:56.789Z\"
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:RolloutPercentage --value [25,50,75,100]
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:Logging --value {\"Test\":{\"Level\":\"Debug\"},\"Prod\":{\"Level\":\"Warning\"}}

Importante

Si usa la CLI de Azure o Azure Cloud Shell para crear pares clave-valor JSON, el valor proporcionado debe escapar mediante una cadena JSON.

Importación de pares clave-valor JSON desde un archivo

Cree un archivo JSON llamado Import.json con el siguiente contenido e impórtelo en forma de pares clave-valor en App Configuration:

{
  "Settings": {
    "BackgroundColor": "Green",
    "BlockedUsers": null,
    "FontSize": 24,
    "Logging": {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}},
    "ReleaseDate": "2020-08-04T12:34:56.789Z",
    "RolloutPercentage": [25,50,75,100],
    "UseDefaultRouting": false
  }
}
az appconfig kv import -s file --format json --path "~/Import.json" --content-type "application/json" --separator : --depth 2

Nota

El argumento --depth se usa para acoplar los datos jerárquicos de un archivo en pares clave-valor. En este tutorial, se especifica la profundidad para demostrar que también puede almacenar los objetos JSON como valores en App Configuration. Si no se especifica la profundidad, los objetos JSON se reducirán al nivel más profundo de forma predeterminada.

Los pares clave-valor JSON que creó deben tener una apariencia similar a la siguiente en App Configuration:

Screenshot that shows the Config store containing JSON key-values.

Para comprobarlo, abra el recurso de App Configuration en Azure Portal y vaya al Explorador de configuración.

Exportación de pares clave-valor JSON a un archivo

Una de las principales ventajas de usar los pares clave-valor JSON es la capacidad de conservar el tipo de datos original de los valores durante la exportación. Si un par clave-valor en App Configuration no tiene su propiedad de tipo de contenido (content-type) JSON, su valor se tratará como una cadena.

Considere estos pares clave-valor sin el tipo de contenido JSON:

Clave Value Tipo de contenido
Settings:FontSize 24
Settings:UseDefaultRouting false

Al exportar estos pares clave-valor a un archivo JSON, los valores se exportarán como cadenas:

{
  "Settings": {
    "FontSize": "24",
    "UseDefaultRouting": "false"
  }
}

Sin embargo, al exportar los pares clave-valor JSON a un archivo, todos los valores conservarán su tipo de datos original. Para comprobar este proceso, exporte los pares clave-valor desde App Configuration a un archivo JSON. Verá que el archivo exportado tiene el mismo contenido que el archivo Import.json que importó anteriormente.

az appconfig kv export -d file --format json --path "~/Export.json" --separator :

Nota

Si el almacén de App Configuration tiene algunos pares clave-valor sin tipo de contenido JSON, también se exportarán al mismo archivo en formato de cadena.

Consumo de pares clave-valor JSON en aplicaciones

La forma más fácil de consumir pares clave-valor JSON en una aplicación es mediante bibliotecas de proveedores de App Configuration. Con las bibliotecas de proveedores, no es necesario implementar un tratamiento especial de los pares clave-valor JSON en la aplicación. Se analizarán y se convertirán para que coincidan con la configuración nativa de la aplicación.

Por ejemplo, si tiene el siguiente par clave-valor en App Configuration:

Clave Value Tipo de contenido
Configuración {"FontSize":24,"UseDefaultRouting":false} application/json

La configuración de la aplicación .NET tendrá los siguientes pares de clave-valor:

Clave Valor
Settings:FontSize 24
Settings:UseDefaultRouting false

Puede acceder directamente a las nuevas claves o puede elegir enlazar los valores de configuración a las instancias de objetos de .NET.

Importante

La compatibilidad nativa con los pares clave-valor JSON está disponible en la versión 4.0.0 del proveedor de configuración de .NET (o posterior). Para obtener más información, consulte la sección Pasos siguientes.

Si usa el SDK o la API de REST para leer los pares clave-valor desde App Configuration, según el tipo de contenido, la aplicación será responsable de analizar el valor de un par clave-valor JSON.

Limpieza de recursos

Si no quiere seguir usando los recursos que se han creado en este artículo, elimine el grupo de recursos que creó aquí para evitar cargos.

Importante

La eliminación de un grupo de recursos es irreversible. El grupo de recursos y todos los recursos que contiene se eliminan permanentemente. Asegúrese de que no elimina por accidente el grupo de recursos o los recursos equivocados. Si creó los recursos para este artículo en un grupo de recursos que contenga los recursos que desee conservar, elimine cada recurso de forma individual desde su panel respectivo, en lugar de eliminar el grupo de recursos.

  1. Inicie sesión en Azure Portal y después seleccione Grupos de recursos.
  2. En el cuadro de texto Filtrar por nombre, escriba el nombre del grupo de recursos.
  3. En la lista resultados, seleccione el nombre del grupo de recursos para ver la información general.
  4. Seleccione Eliminar grupo de recursos.
  5. Se le pedirá que confirme la eliminación del grupo de recursos. Escriba el nombre del grupo de recursos para confirmar y seleccione Eliminar.

Transcurridos unos instantes, el grupo de recursos y todos sus recursos se eliminan.

Pasos siguientes

Ahora que sabe cómo trabajar con pares clave-valor JSON en el almacén de App Configuration, cree una aplicación para consumir estos pares clave-valor: