Un valor es una referencia con nombre a un fragmento de datos estáticos almacenados por Atlas al que puede acceder en Atlas Funciones. Los valores ofrecen una alternativa a la codificación directa de constantes de configuración en las 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 resolverse en dos tipos de datos:
Texto sin formato: se resuelve en un objeto JSON normal, una matriz o un valor de cadena que usted defina.
Secreto: se resuelve en un valor secreto que usted define.
Definir un valor
Puede definir un nuevo valor desde la interfaz de usuario o mediante la CLI de App Services.
En Atlas, vaya a la Triggers Página para su 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.
El Se muestra la páginade activadores.
Nombra el valor
Introduzca un Value Name único. Este nombre es el que se utiliza para referirse al valor en las funciones.
Nota
Restricciones de nombre de valor
Los nombres de valor no pueden superar 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
Seleccione 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 ingrese 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 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>
De forma predeterminada, el comando extrae los archivos al directorio de trabajo actual. Puede especificar una ruta de directorio con el comando opcional --local bandera.
Agregar la configuración de valor
Agregue un archivo de configuración JSON para el nuevo valor al subdirectorio values de su 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 el que se utiliza para referirse al valor en funciones y reglas. |
| Valor |
| Los datos almacenados que el Valor expone cuando se hace referencia a ellos:
|
Implementar sus cambios:
Ejecute el siguiente comando para implementar sus cambios:
appservices push
Acceda a un valor
Puede acceder a los datos almacenados de un valor desde una función Atlas utilizando el módulo context.values.
context.values.get("<Value Name>")
Por ejemplo, la siguiente función devuelve true cuando el ID del usuario activo está incluido en el valor de la matriz de texto sin formato adminUsers:
exports = function() { const adminUsers = context.values.get("adminUsers"); const isAdminUser = adminUsers.indexOf(context.user.id) > 0; return isAdminUser; }