Un Valor es una referencia nombrada de un dato estático almacenado por Atlas a la que puedes acceder en Atlas Funciones. Los valores proporcionan una alternativa a la codificación directa de constantes de configuración en sus Funciones.
En otras palabras, los valores le permiten separar los datos de configuración específicos de la implementación de la lógica comercial de su aplicación.
Los valores pueden derivarse en dos tipos de datos:
Texto sin formato: Se resuelve en un valor de objeto JSON normal, arreglo o string que usted defina.
Secreto: Se resuelve en un Valor secreto que defines.
Definir un Valor
Puede definir un nuevo valor desde la interfaz de usuario o mediante la CLI de App Services.
En Atlas, ve a Triggers página para tu proyecto.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Triggers en la sección Streaming Data.
La Se muestra la página Disparadores.
Nombre el valor
Introduzca un Value Name único. Este nombre es el que se utiliza para referirse al valor en las funciones.
Nota
Restricciones del valor del nombre
Los nombres de valores no pueden exceder los 64 caracteres y solo pueden contener letras ASCII, números, guiones bajos y guiones. El primer carácter debe ser una letra o un número.
Definir el valor
Selecciona el tipo Value.
Defina un valor de texto simple o un enlace a un valor secreto:
Para definir un valor de texto sin formato, Custom Content e ingresa el valor de texto sin formato en el cuadro de entrada.
Para vincular el valor de un secreto existente, seleccione Link to Secret y seleccione el secreto en el menú desplegable.
Para vincular un nuevo valor de secreto, seleccione Link to Secret, luego ingrese el nombre del nuevo secreto y el valor del nuevo secreto en el cuadro de entrada que aparece.
Para obtener más información sobre cómo crear un secreto,consulte Crear un secreto.
Autenticar a un usuario de MongoDB Atlas
Utilice su clave API de administración de MongoDB Atlas para iniciar sesión en la CLI de App Services:
appservices login --api-key="<API KEY>" --private-api-key="<PRIVATE KEY>"
Extraiga los últimos archivos de configuración de su aplicación
Ejecute el siguiente comando para obtener una copia local de sus archivos de configuración:
appservices pull --remote=<App ID>
Por defecto, el comando descarga archivos en el directorio de trabajo actual. Puedes especificar una ruta de directorio con el opcional --local flag.
Agregar la configuración de valor
Añade un archivo de configuración JSON para el nuevo valor al subdirectorio values de tu aplicación local:
touch values/<ValueName>.json
Cada valor se define en su propio archivo JSON. Por ejemplo, un valor llamado myValue se definiría en el archivo /values/myValue.json.
El archivo de configuración debe tener la siguiente forma general:
{ "name": "<Value Name>", "from_secret": <boolean>, "value": <Stored JSON Value|Secret Name> }
Campo | Descripción |
|---|---|
| Un nombre único para el valor. Este nombre es como se refiere al valor en Funciones y reglas. |
| Por defecto: |
| Los datos almacenados que el Valor expone cuando se hace referencia a ellos:
|
Implementa tus cambios:
Ejecute el siguiente comando para implementar sus cambios:
appservices push
Acceder a un valor
Puedes acceder a los datos almacenados de un Valor desde una Atlas Function utilizando el módulo context.values.
context.values.get("<Value Name>")
Por ejemplo, la siguiente Función retorna true cuando el ID del usuario activo está incluido en el arreglo de texto plano Valor adminUsers:
exports = function() { const adminUsers = context.values.get("adminUsers"); const isAdminUser = adminUsers.indexOf(context.user.id) > 0; return isAdminUser; }