Compartir a través de


Uso del tipo de contenido para almacenar los valores de clave JSON en App Configuration

Los datos se almacenan en App Configuration como valores clave, donde los valores se tratan como el tipo de cadena de forma predeterminada. 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 medio JSON como el tipo de contenido de los valores clave para aprovechar las siguientes ventajas:

  • Administración de datos más sencilla: la administración de valores clave, como matrices, será mucho más fácil en Azure Portal.
  • Exportación de datos mejorada: los tipos primitivos, las matrices y los objetos JSON se conservarán durante la exportación de datos.
  • Compatibilidad nativa con el proveedor de App Configuration: los valores de clave con el tipo de contenido JSON funcionarán correctamente cuando las bibliotecas del proveedor de App Configuration las consuman en las aplicaciones.

Tipo de contenido JSON válido

Los tipos de medios, tal como se definen aquí, se pueden asignar al tipo de contenido asociado a cada clave-valor. Un tipo de medio consta de un tipo y un subtipo. Si el tipo es application y el subtipo (o sufijo) es json, el tipo de medio 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 JSON válidos

Cuando un valor de clave tiene un tipo de contenido JSON, su valor debe tener un formato JSON válido para que los clientes lo procesen correctamente. De lo contrario, los clientes pueden generar un error o retroceder y tratarlo como formato de cadena. Algunos ejemplos de valores JSON válidos 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 clave-valor de App Configuration que tenga un tipo de contenido JSON válido y un valor JSON válido se denominará clave-valor JSON.

En este tutorial, aprenderá a:

  • Cree valores de clave JSON en App Configuration.
  • Importar los pares clave-valor JSON desde un archivo JSON.
  • Exporte los valores de clave JSON a un archivo JSON.
  • Consumir pares clave-valor JSON en las aplicaciones.

Si no tiene una cuenta de Azure, cree una cuenta gratuita antes de comenzar.

Prerrequisitos

  • Una tienda de configuración de aplicaciones. 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, la versión más reciente ya está instalada.

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

Los valores de clave JSON se pueden crear mediante Azure Portal, la CLI de Azure o mediante la importación desde un archivo JSON. En esta sección, encontrará instrucciones sobre cómo crear los mismos valores de clave JSON con los tres métodos.

Creación de valores de clave 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 Importancia Tipo de contenido
Settings:BackgroundColor "Verde" application/json
Settings:FontSize 24 application/json
Configuración:UseDefaultRouting falso application/json
Configuración:BlockedUsers nulo application/json
Settings:ReleaseDate "2020-08-04T12:34:56.789Z" application/json
Settings:RolloutPercentage [25,50,75,100] application/json
Configuración:Registro {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}} application/json
  1. Selecciona Aplicar.

Creación de valores de clave 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 valores de clave JSON, el valor proporcionado debe ser una cadena JSON con escape.

Importación de valores de clave JSON desde un archivo

Cree un archivo JSON llamado Import.json con el siguiente contenido e impórtelo como clave-valores 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 --depth argumento se usa para aplanar los datos jerárquicos de un archivo en valores clave. En este tutorial, se especifica la profundidad para demostrar que también puede almacenar objetos JSON como valores en App Configuration. Si no se especifica la profundidad, los objetos JSON se aplanarán al nivel más profundo de forma predeterminada.

Los valores de clave JSON que creó deben tener este aspecto en App Configuration:

Captura de pantalla que muestra el almacén de configuración que contiene valores de clave JSON.

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

Exportación de valores de clave JSON a un archivo

Una de las principales ventajas de usar los valores de clave JSON es la capacidad de conservar el tipo de datos original de los valores mientras se exporta. Si un valor de clave en App Configuration no tiene un tipo de contenido JSON, su valor se tratará como una cadena.

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

Clave Importancia Tipo de contenido
Settings:FontSize veinticuatro
Configuración:UseDefaultRouting falso

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

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

Sin embargo, al exportar los valores de clave JSON a un archivo, todos los valores conservarán su tipo de datos original. Para comprobar este proceso, exporte los valores de clave de App Configuration a un archivo JSON. Verá que el archivo exportado tiene el mismo contenido que el Import.json archivo 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 valores de clave JSON en aplicaciones

La manera más fácil de consumir valores de clave JSON en la aplicación es a través de bibliotecas de proveedores de App Configuration. Con las bibliotecas de proveedores, no es necesario implementar un control especial de los valores de clave JSON en la aplicación. Se analizarán y convertirán para que coincidan con la configuración nativa de la aplicación.

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

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

La configuración de la aplicación .NET tendrá los siguientes valores de clave:

Clave Importancia
Settings:FontSize veinticuatro
Configuración:UseDefaultRouting falso

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

Importante

La compatibilidad nativa con los valores de clave 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, vaya a la sección Pasos siguientes .

Si usa el SDK o la API REST para leer los valores de clave de App Configuration, en función del tipo de contenido, la aplicación es responsable de analizar el valor de un valor de clave 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 los valores de clave JSON en el almacén de App Configuration, cree una aplicación para consumir estos valores de clave: