Importante
Servicios de terceros y notificaciones push obsoletos
Los servicios de terceros y las notificaciones push en App Services han quedado obsoletos en favor de la creación de puntos finales HTTP que usan dependencias externas en funciones.
Webhooks se han renombrado a HTTPS Endpoints sin cambios en el comportamiento. Debe migrar los Webhooks existentes.
Los servicios existentes continuarán funcionando hasta el de septiembre 30 2025de.
Dado que los servicios de terceros y las notificaciones push ya no se utilizan, se han eliminado de forma predeterminada de la interfaz de usuario de App Services. Si necesita administrar un servicio de terceros o una notificación push existente, puede volver a agregar las configuraciones a la interfaz de usuario siguiendo estos pasos:
En la navegación izquierda, debajo del Manage sección, haga clic en App Settings.
Habilite el interruptor junto a Temporarily Re-Enable 3rd Party Services y luego guarde los cambios.
Overview
El Atlas App Services HTTP Service es una interfaz genérica que permite comunicarse con cualquier servicio disponible a través de HTTP, como aquellos que proporcionan una REST API. Esto es útil cuando necesitas usar un servicio que no cuenta con un servicio personalizado funcionalidad incorporada a aplicación Services.
Para enviar una solicitud HTTP saliente, llame a uno de los Acciones HTTP.
To handle incoming requests from an external service, configure an incoming webhook and provide it to the service, if possible. See the incoming webhooks section on this page for an example.
Parámetros de configuración
Necesitará proporcionar valores para los siguientes parámetros cuando cree una interfaz de servicio HTTP:
{ "name": "<Service Name>", "type": "http", "config": {} }
Parameter | Descripción |
|---|---|
Service Name config.name | El nombre de esta interfaz de servicio HTTP. Debe ser único respecto a las demás interfaces de servicio de la aplicación. |
Acciones de servicio
El servicio HTTP de App Services ofrece las siguientes acciones, que se pueden ejecutar en funciones y en los SDK. Cada acción se asigna a un método de solicitud HTTP estándar.
For instructions on using an HTTP service action, see Call a Service Action.
Nota
Debes habilitar una acción de servicio en una regla de servicio antes de poder llamarla.
Acción | Descripción |
|---|---|
Enviar una solicitud HTTP GET. | |
Enviar una solicitud HTTP POST. | |
Enviar una solicitud HTTP PUT. | |
Enviar una solicitud HTTP PATCH. | |
Envíe una solicitud HTTP DELETE. | |
Envía una solicitud HTTP HEAD. |
Webhooks entrantes
Nota
Convertir webhooks HTTP en puntos finales
HTTP Service webhoooks are deprecated in favor of custom HTTPS endpoints. You can automatically migrate your existing webhooks to endpoints in one-click. To learn how, see Convert Webhooks to HTTPS Endpoints.
Configuración
Deberás proporcionar valores para los siguientes parámetros cuando configures un webhook entrante de HTTP:
You will need to provide a configuration file of the following form when you configure an HTTP incoming webhook:
{ "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>", "respond_result": <Boolean>, "fetch_custom_user_data": <Boolean>, "create_user_on_auth": <Boolean>, "options": { "httpMethod": "<HTTP Method>", "validationMethod": "<Webhook Validation Method>", "secret": "<Webhook Secret>" } }
Valor de configuración | Descripción |
|---|---|
Webhook Name name | Obligatorio. El nombre del webhook. NotaEach incoming webhook in an HTTP service interface must have a unique name. |
Respond With Result respond_result | Required. If |
Run Webhook As run_as_user_id run_as_user_id_script_source | Optional. The id of the App Services user that executes the webhook function when the webhook is called. Existen tres formas de configurar el usuario de ejecución:
Puede especificar el ID de usuario directamente en |
HTTP Method options.httpMethod | El método HTTP que deben usar las solicitudes de webhook entrantes. Puede configurar un webhook para que acepte cualquier método o especificar uno específico. Se admiten los siguientes métodos:
|
Request Validation options.validationMethod | El método de validación que deben utilizar las solicitudes entrantes. Se admiten los siguientes tipos de validación:
|
Secret options.secret | Si Request Validation está habilitado, este es el secreto de validación. |
Carga útil de la solicitud
App Services automatically passes a payload document as the first argument to incoming webhook functions. In an HTTP Service incoming webhook the payload object represents an incoming HTTP request and has the following form:
{ "query": <query parameters>, "headers": <request headers>, "body": <request body (BSON)> }
Campo | Descripción | ||||
|---|---|---|---|---|---|
| Un documento donde cada campo corresponde a un parámetro de consulta que el servicio externo incluyó en la URL del webhook. EjemploUna solicitud enviada a una URL de webhook con los parámetros de consulta | ||||
| Un documento donde cada campo corresponde a un encabezado HTTP que el servicio externo incluyó en la URL del webhook. EjemploA request sent to a webhook URL with a | ||||
| Un objeto BSON.Binary codificado a partir del cuerpo de la solicitud. Puedes acceder al cuerpo de la solicitud serializando el objeto binario en una string y luego convirtiendo la string a EJSON: |
Example Webhook Function
La siguiente función de webhook inserta datos entrantes en una colección MongoDB y devuelve insertedId en la respuesta body.
exports = function(payload, response) { const mongodb = context.services.get("mongodb-atlas"); const requestLogs = mongodb.db("test").collection("requestlogs"); requestLogs.insertOne({ body: EJSON.parse(payload.body.text()), query: payload.query }).then(result => { response.setStatusCode(201); response.setBody(result.insertedId); }) };