CURL es una función de utilidad que ha estado disponible como función Developer Preview en Funciones de eventos de Couchbase. Ha estado en vista previa para desarrolladores y no se recomendó para producción. Estamos escuchando los comentarios para mejorar la usabilidad, y tenemos varias mejoras nuevas en camino:
- Análisis sintáctico automático de los tipos de datos más comunes
- Clasificación automática de los tipos de datos más comunes
- Capacidad para acceder a las cabeceras de solicitud y respuesta HTTP
- Capacidad para gestionar conexiones HTTPS
- Soporte para cookies de sesión
- Tipos de autenticación adicionales admitidos
Hay algunos cambios en CURL en Couchbase Server 6.5. Esta entrada de blog te dará un pequeño avance de lo que viene en 6.5. También sirve como punto de referencia para algunas entradas de blog anteriores que utilizaban la antigua API CURL.
Si está interesado en probar una compilación temprana de Couchbase Server 6.5 antes del lanzamiento de la versión beta en verano de 2019, póngase en contacto con matthew.groves@couchbase.com.
Especificación Eventing 6.5
En Couchbase Server 6.5 se han introducido mejoras en la gestión de eventos. Puedes leer toda la Especificación de Eventing 6.5 en GitHub. Para este post, quiero destacar CURL, que ha cambiado considerablemente desde su primera versión preliminar para desarrolladores.
Enlaces de alias de URL para CURL
Para utilizar CURL en un evento, debe crear un alias de URL en la Configuración de la función. Especifica la URL base a la que harás una llamada con CURL. Por ejemplo, quiero hacer llamadas a la URL Abrir mapa meteorológico API. La URL base de la API es https://samples.openweathermap.org. En Configuración de funciones, he añadido un enlace:
- Alias de URL (tipo de enlace)
- weatherUrl (nombre vinculante)
- https://samples.openweathermap.org (valor vinculante)
También he añadido un alias de cubo vinculante para el demo que también es el cubo de origen. Esto me permite leer y escribir desde el demo cubo.
Código de función
He creado un Eventos que se ejecutará cada vez que se modifique un documento, luego recuperará el tiempo de OpenWeatherMap y finalmente guardará los datos meteorológicos en el documento.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
función OnUpdate(doc, meta) { var solicitar = { ruta: '/data/2.5/weather', parámetros: { 'q' : "Londres, Reino Unido, appid : 'b6907d289e10d714a6e88b30761fae22' } }; var respuesta = rizo(GET, weatherUrl, solicitar); si(respuesta.estado == 200) { var obj = thisbucket[meta.id]; obj.tiempo = respuesta.cuerpo; thisbucket[meta.id] = obj; } } |
Observe que el método curl en este código toma tres argumentos:
- El método HTTP (
GET
en este ejemplo) - El enlace de alias de URL (
weatherUrl
) - Un objeto de solicitud (
solicitar
). En este ejemplo, es muy simple con sólo unruta
y unparámetros
pero también puede añadircabeceras
,cuerpo
ycodificación
. No deje de consultar el especificación completa.
Próximos pasos
Si has estado usando curl en developer preview, es importante que actualices para usar este nuevo y mejorado curl. Si estás interesado en probar una versión temprana de Couchbase Server 6.5 que contenga la nueva función curl antes del lanzamiento de la beta en verano, por favor contacta con matthew.groves@couchbase.com.