Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Definir y acceder a los valores

Un Valor es una referencia nombrada a un conjunto de datos estáticos almacenados por Atlas a los que puedes acceder en las Funciones de Atlas. Los values proporcionan una alternativa al uso de constantes de configuración codificadas directamente en tus funciones.

En otras palabras, los valores te permiten separar los datos de configuración específicos de la implementación de la lógica empresarial de tu 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.

Puedes definir un nuevo valor desde la Interfaz de Usuario o usando la App Services CLI.

1
  1. 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.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Triggers en la sección Streaming Data.

Se muestra la página de Triggers.

2
  1. Haz clic en el enlace Linked App Service: Triggers.

  2. En la barra lateral, haz clic en Values en la sección Build.

  3. Haga clic en Create a Value.

3

Introduzca un Value Name único. Este nombre es cómo se refiere al Valor en 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.

4
  1. Selecciona el tipo Value.

  2. Defina un valor de texto sin formato o 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 enlazar al valor de un Secreto existente, selecciona Link to Secret y selecciona el Secreto del menú desplegable.

    • Para vincular un nuevo valor Secreto, selecciona Link to Secret, luego ingresa el nombre del nuevo Secreto y su valor en el cuadro de entrada que aparece.

    Para obtener más información sobre cómo crear un Secreto, consulta Crear un Secreto.

5

Después de que haya nombrado y definido el nuevo Valor, haga clic en Save.

Una vez guardado, puedes acceder inmediatamente al Valor en tus Funciones.

1

Usa tu 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>"
2

Ejecute el siguiente comando para obtener una copia local de sus archivos de configuración:

appservices pull --remote=<App ID>

Por defecto, el comando arrastra los archivos al directorio de trabajo actual. Puede especificar una ruta de directorio con el indicador opcional --local.

3

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 denominado myValue se definiría en el archivo /values/myValue.json.

El archivo de configuración debe tener la siguiente forma general:

values/<ValueName>.json
{
"name": "<Value Name>",
"from_secret": <boolean>,
"value": <Stored JSON Value|Secret Name>
}
Campo
Descripción

name

Un nombre único para el valor. Este nombre es como se refiere al valor en Funciones y reglas.

from_secret

Por defecto: false. Si true, el Valor expone un Secreto en lugar de un Valor JSON en texto plano.

value

Los datos almacenados que el Valor expone cuando se hace referencia a ellos:

  • Si from_secret es false, value puede ser una cadena JSON estándar, un arreglo o un objeto.

  • Si from_secret es true, value es una string que contiene el nombre del Secreto que revela el Valor.

4

Ejecute el siguiente comando para implementar sus cambios:

appservices push

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:

Función de ejemplo que utiliza un valor
exports = function() {
const adminUsers = context.values.get("adminUsers");
const isAdminUser = adminUsers.indexOf(context.user.id) > 0;
return isAdminUser;
}