Nota
Esta página describe un formato de archivo de configuración heredado. Solo debe usar esta información si está usando el formato obsoleto.
realm-cli.
Cualquier archivo de configuración que extraiga con la CLI de App Services o exporte desde la interfaz de usuario utiliza la versión más reciente. Para obtener información detallada sobre el formato actual de los archivos de configuración, consulte Configuración de la aplicación.
app/ └── http_endpoints/ ├── config.json ├── data_api_config.json └── <Service Name>/ ├── config.json ├── rules/ │ └── <Rule Name>.json └── incoming_webhooks/ └── <Webhook Name>/ ├── config.json └── source.js
Custom HTTPS Endpoint Configuration
Define las configuraciones para todos los puntos finales HTTPS personalizados de tu aplicación como una matriz http_endpoints/config.json en.
[ { "route": "<Endpoint route name>", "http_method": "<HTTP method>", "function_name": "<Endpoint function name", "validation_method": "<Authorization scheme>", "secret_name": "<Validation Secret Name>", "respond_result": <boolean>, "fetch_custom_user_data": <boolean>, "create_user_on_auth": <boolean>, "disabled": <boolean> } ]
Campo | Descripción |
|---|---|
routestring | |
http_methodstring | Uno de:
|
function_namestring | El nombre de la función asociada al endpoint. La función debe usar la firma de la función endpoint. |
validation_methodstring | The endpoint authorization scheme used to validate incoming requests. Uno de:
|
secret_namestring | El nombre de un secreto que contiene una cadena. Si |
respond_resultboolean | Si Si es |
fetch_custom_user_databoolean | Si Si es |
create_user_on_authboolean | Si es Esta configuración es útil para aplicaciones que se integran con un sistema de autenticación externo mediante el proveedor de autenticación JWT personalizado. Si una solicitud incluye un JWT válido del sistema externo que no corresponde a un usuario registrado, esto crea un nuevo usuario con el JWT como una identidad. |
disabledboolean | Activa ( |
Configuración de la API de datos
Define la configuración para los puntos finales de API de datos generados por tu aplicación http_endpoints/data_api_config.json en.
{ "disabled": <boolean>, "versions": ["v1"], "return_type": "EJSON" | "JSON", "create_user_on_auth": <boolean>, "run_as_system": <boolean>, "run_as_user_id": "<User Account ID>", "run_as_user_id_script_source": "<Function Source Code>" }
Campo | Descripción |
|---|---|
disabledboolean | Si es |
versionsstring[] | An list of Data API versions that your app supports. The list may include a subset of all possible versions but must list the versions in ascending order. You cannot enable a version other than the most recent version but any previously enabled versions listed here will continue to work. Versiones disponibles:
|
return_typestring | The data format to use for data returned by endpoints in HTTPS response bodies. Uno de:
|
create_user_on_authboolean | Si es Esta configuración es útil para aplicaciones que se integran con un sistema de autenticación externo mediante el proveedor de autenticación JWT personalizado. Si una solicitud incluye un JWT válido del sistema externo que no corresponde a un usuario registrado, esto crea un nuevo usuario con el JWT como una identidad. |
run_as_user_idstring | An application user's account ID. If defined, endpoints will always run as the specified user. No se puede usar con |
run_as_user_id_script_sourcestring | Código fuente en formato String de una función que devuelve el Account ID de un usuario de la aplicación. Si se define, los endpoints ejecutan la función en cada solicitud y se ejecutan como el usuario con el ID devuelto por la función. No se puede usar con |
Configuración del servicio HTTP
Deprecated legacy HTTP services are grouped into named services within /http_endpoints.
{ "name": "<Service Name>", "type": "http", "config": {} }
Campo | Descripción |
|---|---|
nameString | El nombre del servicio de puntos finales HTTP. Debe ser único entre todos los servicios de puntos finales HTTP de la aplicación y coincidir con el nombre del directorio que lo contiene. |
typeString | Para los endpoints HTTP, este valor es siempre |
configString | Opciones de configuración adicionales para el servicio. Actualmente, los puntos finales HTTP no tienen opciones de configuración adicionales. |
Reglas de acciones del servicio
Defines reglas de acción de servicio en el sub rules/ del servicio. Cada regla se asigna a su propio archivo de configuración de .json con el mismo nombre que la regla.
{ "name": "<Rule Name>", "actions": ["<Service Action Name>"], "when": { <JSON Rule Expression> } }
Campo | Descripción |
|---|---|
nameString | El nombre de la regla de servicio. El nombre puede tener un máximo de 64 caracteres y solo puede contener letras ASCII, números, guiones bajos y guiones. |
actionsArray<String> | A list of HTTP actions that the rule applies to. |
whenDocument | Una expresión de regla que evalúa como |
Webhooks entrantes
Configuración
{ "name": "<Webhook Name>", "can_evaluate": { <JSON Expression> }, "run_as_authed_user": <Boolean>, "run_as_user_id": "<App Services User ID>", "run_as_user_id_script_source": "<Function Source Code>", "fetch_custom_user_data": <Boolean>, "create_user_on_auth": <Boolean>, "respond_result": <Boolean>, "options": { "httpMethod": "<HTTP Method>", "validationMethod": "<Webhook Validation Method>", "secret": "<Webhook Secret>" } }
Campo | Descripción | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
nameString | El nombre del webhook. Debe ser único entre todos los webhooks del servicio de puntos finales HTTP y coincidir con el nombre del directorio que lo contiene. | |||||||||||||
can_evaluateJSON Expression (default: true) | Una expresión JSON que evalúa | |||||||||||||
disable_arg_logsBoolean | Si | |||||||||||||
run_as_authed_userBoolean | Si es TipFor an example of how to specify credentials, see Configure Service Webhooks. | |||||||||||||
run_as_user_idString | El ID único de un usuario de App Services con el que siempre se ejecuta la función. No se puede usar con | |||||||||||||
run_as_user_id_script_sourceString | Una función convertida en cadena que se ejecuta al llamar al webhook y devuelve el ID único del usuario de App Services que la ejecuta. No se puede usar con | |||||||||||||
respond_resultBoolean | Si es | |||||||||||||
fetch_custom_user_dataBoolean | Si This option is only available if | |||||||||||||
create_user_on_authBoolean | Si es This option is only available if | |||||||||||||
optionsDocument | A document that contains configuration options for the webhook.
|
Código fuente
El código fuente de una función de webhook se define en un archivo source.js dentro del directorio del webhook. Cada archivo debe exportar la función principal que se ejecuta cuando una solicitud llama al webhook.
exports = async function (payload, response) { // Convert the webhook body from BSON to an EJSON object const body = EJSON.parse(payload.body.text()); // Execute application logic, such as working with MongoDB if (body.someField) { const mdb = context.services.get("mongodb-atlas"); const requests = mdb.db("demo").collection("requests"); const { insertedId } = await requests.insertOne({ someField: body.someField, }); // Respond with an affirmative result response.setStatusCode(200); response.setBody(`Successfully saved "someField" with _id: ${insertedId}.`); } else { // Respond with a malformed request error response.setStatusCode(400); response.setBody(`Could not find "someField" in the webhook request body.`); } // This return value does nothing because we already modified the response object. // If you do not modify the response object and you enable *Respond with Result*, // App Services will include this return value as the response body. return { msg: "finished!" }; };