Docs Menu
Docs Home
/ /

Definir y acceder a valores

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.

Puede definir un nuevo valor desde la interfaz de usuario o mediante la CLI de App Services.

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.

El Se muestra la páginade activadores.

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

4
  1. Seleccione el tipo Value.

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

5

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

Una vez guardado, podrás acceder inmediatamente al Valor en tus Funciones.

1

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

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.

3

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:

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 el que se utiliza para referirse al valor en funciones y reglas.

from_secret

Valorfalse predeterminado:. Si true es, el valor expone un secreto en lugar de un valor JSON de texto sin formato.

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, una matriz o un objeto estándar.

  • Si from_secret es true, value es una cadena que contiene el nombre del secreto que expone el valor.

4

Ejecute el siguiente comando para implementar sus cambios:

appservices push

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:

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

Volver

Referencia de la API de MongoDB

En esta página