La salida HTTP de ArcGIS Velocity le permite enviar entidades y otros textos a un extremo HTTP a través de solicitudes POST, PUT o DELETE. Se envía una solicitud para cada entidad de salida enviada a la salida.
Ejemplo
Un analista configura una salida HTTP para enviar entidades en un formato JSON personalizado a un webhook designado.
Notas de uso
Tenga en cuenta lo siguiente al trabajar con la salida:
- Al enviar JSON en el cuerpo de una solicitud, ajuste el JSON con la expresión de Text() Arcade para dar un formato adecuado al JSON.
- Al utilizar la salida HTTP, es importante entender la velocidad de los datos. Cada registro enviado a la salida genera una solicitud separada. Con ello se puede sobrecargar rápidamente la configuración de capacidad o límite de velocidad de un servidor web. Utilice la salida HTTP para los incidentes que se espera que se produzcan con poca frecuencia.
- Cuando se utiliza la autenticación OAuth (Open Authorization), lo siguiente será de aplicación:
- El tipo de salida HTTP admite la autenticación mediante OAuth 2.0 para extremos HTTP que siguen los tipos de concesión Credenciales de cliente o Contraseña. Estos tipos de concesión de OAuth siguen un patrón que incluye la configuración de una solicitud HTTP para obtener un token de acceso y, opcionalmente, configurar una solicitud para usar un token de refresco para recuperar nuevos tokens de acceso. Durante la configuración de la solicitud de token de acceso, se le pide que identifique el token de acceso y el token de refresco opcional, así como los campos JSON clave opcionales de caducidad de la respuesta del servidor de autorización de OAuth. Si se selecciona una caducidad, debe definir el tipo de caducidad (duración o marca de tiempo) y las unidades. Para configurar una fecha de caducidad expresada en forma de cadena, establezca la unidad de caducidad en Otra y especifique el formato de fecha agregando una cadena de formato de fecha de caducidad. Si se especifica un token de refresco sin caducidad, el feed intenta una solicitud de token de refresco si la solicitud de datos principal falla dos veces seguidas.
- Si se identifica un token de refresco en la solicitud del token de acceso, debe utilizar la variable global $refreshToken para definir dónde se utiliza el token de refresco en la configuración de la solicitud del token de refresco. Si lo desea, puede utilizar la variable global $accessToken en la solicitud de token de refresco. Las variables globales $refreshToken y $accessToken están disponibles para referenciación en el Cuerpo POST, los parámetros URL y en los parámetros de Encabezados personalizados.
- Al volver a la configuración de la solicitud de datos, debe utilizar la variable global $accessToken para definir dónde se utiliza el token de acceso. Suele ser en un encabezado personalizado de Authorization con el valor Bearer $accessToken.
- Los tokens de acceso pueden almacenarse como JSON Web Tokens (JWT). Si utiliza un JWT para el token de acceso, active la opción Utilizar formato JWT. Velocity descodifica el token y, si la carga útil incluye una reclamación exp, este valor se utiliza automáticamente como tiempo de caducidad. exp es la fecha de caducidad del token de acceso en segundos.
La salida HTTP permite a los usuarios rellenar dinámicamente la URL o los valores de cabecera personalizados a partir de los valores de campo. Esto permite a los usuarios construir URL de extremo, cabeceras personalizadas y parámetros de URL específicos para cada registro que se esté procesando.
Los usuarios pueden hacer referencia a valores de campo en URL, Cabeceras personalizadas y en los parámetros de URL utilizando uno de los siguientes formatos:
- $feature.fieldName para nombrse de campo estándar.
- $feature['field name'] cuando el nombre del campo contiene espacios.
Para facilitar las pruebas de conexión y la validación, se deben proporcionar valores de muestra para cada campo de referencia utilizado en la URL, Cabeceras personalizadas o en los parámetros de URL. Estos valores se utilizan durante la validación analítica y mientras se prueba la conexión con el sistema de destino. En tiempo de ejecución, Velocity sustituye cada marcador de posición por el valor del atributo correspondiente del registro actual.
Supongamos que su análisis incluye un campo denominado sensor_id. Puede definir la URL de salida como https://yourAPIURL.com/$feature.sensor_id. Para un registro en el que sensor_id = 1234, la salida se resuelve en https://yourAPIURL.com/1234. Se puede utilizar el mismo patrón para Cabeceras personalizadas y Parámetros de URL.
- Cuando se envía una expresión de Arcade que incluye campos de atributo en el cuerpo de la solicitud, se requieren valores de muestra para evaluar la expresión. Utilice el menú desplegable Valores de muestra para proporcionar valores representativos para cualquier campo de atributo al que se haga referencia en la expresión de Arcade.
Parámetros
A continuación se indican los parámetros de la salida:
Parámetro | Descripción | Tipo de datos |
---|---|---|
URL | La dirección URL mediante la que se envían las solicitudes de salida. | Cadena de caracteres |
Método HTTP | Método HTTP de la solicitud. Las opciones son POST, PUT y DELETE. | Cadena de caracteres |
Cuerpo POST | La expresión JSON Arcade. | Expresión de Arcade |
Tipo de contenido | El encabezado Tipo de contenido de las solicitudes salientes. Las opciones incluyen lo siguiente:
| Cadena de caracteres |
Tipo de autenticación | Elija la opción de autenticación Ninguno (sin autenticación), Basic u OAuth. Si se configura la opción de autenticación Basic, aparecerán campos adicionales en los que se le pedirá que escriba su nombre de usuario y contraseña. Si se configura la opción de autenticación OAuth, aparece una ventana emergente que permite configurar lo siguiente:
Una vez especificado lo anterior, se prueba la conexión. Debe hacer clic para identificar el token de acceso (y opcionalmente, el token de refresco y el valor de caducidad) en la respuesta JSON. Si se especifica un valor de token de refresco, aparece una ventana emergente adicional que permite configurar lo siguiente:
Una vez especificado lo anterior, se prueba la conexión. Debe hacer clic para identificar el token de acceso y el token de refresco en la respuesta JSON. | Varios parámetros |
Parámetros de la URL | Parámetros de URL opcionales que se incluyen en la URL de la solicitud HTTP enviada al sitio web especificado. Aunque los parámetros también se pueden establecer en el parámetro URL anterior, los parámetros de URL introducidos aquí como parámetros separados invalidan cualquier parámetro coincidente especificado en el parámetro URL. Los parámetros de URL definidos en este parámetro siempre presentan codificación URL. | Par de clave-valor |
Encabezados personalizados | Encabezados personalizados opcionales que se incluyen en la solicitud HTTP enviada al sitio web especificado. Por ejemplo, es posible utilizar encabezados personalizados para especificar una clave API de terceros o un encabezado de autorización. | Par de clave-valor |
Registro adicional | Opcionalmente, active el registro de solicitudes y respuestas HTTP sin procesar emitidas por Velocity. Nota:Este parámetro solo debe activarse con fines de resolución de problemas y desactivarse cuando el proceso de resolución de problemas haya finalizado. Una vez activado, inicie el análisis: los registros de nivel de depuración están disponibles en la página de registros de análisis. En caso necesario, póngase en contacto con el Soporte técnico de Esri para que le ayude a solucionar los problemas. | Booleano |
Valores de muestra | Permite a los usuarios definir datos de muestra para cada campo referenciado por $feature.fieldName o por $feature['fieldName']. Estos valores son necesarios para probar y validar la conexión. | Par de clave-valor |
Consideraciones y limitaciones
Plantéese lo siguiente al utilizar la salida:
- Cuando utilice la opción de autenticación OAuth, tenga en cuenta lo siguiente:
- Al crear una salida, se producen varias solicitudes a un servidor de autorización y al extremo de datos asociado. Algunas API implementan una limitación de velocidad para determinadas solicitudes, lo que puede afectar a la creación de la salida.
- Por motivos de seguridad, el cuerpo POST de las solicitudes de token de acceso se debe reconfigurar al editar los parámetros de autenticación.
- El servidor web debe estar accesible externamente en Internet.