Una función sin servidor para actualizar uno o más índices de algolia desde los puntos finales JSON utilizando una función Simple WebTask.
Primero debe tener instalado Node & NPM.
Una vez instalado, ejecute:
npm install serverless -g && npm install
Antes de poder usar esta función, debe autorizar con el proveedor (WebTask por Auth0). Esto es extremadamente simple, solo ejecuta:
serverless config credentials --provider webtasks
Se le pedirá un número de teléfono o correo electrónico. Inmediatamente recibirá un código de verificación. Ingrese el código de verificación y su perfil estará completamente configurado y listo para usar.
Esta función necesita configurar lo siguiente:
secrets.yml
con su ID de aplicación de algolia y la clave de acceso secreto.indexes.js
con una lista de sus índices y sus puntos finales JSON. Para crear su archivo secrets.yml
, ejecute:
cp ./config/secrets.yml.stub ./config/secrets.yml
Luego abra config/secrets.yml
y proporcione los valores para ALGOLIA_APP_ID
y ALGOLIA_ADMIN_KEY
desde su cuenta de algolia.
A continuación, abra config/indexes.js
y actualice el índice de ejemplo con su información real del índice de algolia. P.ej,
[
{
name: "dist",
url: "https://example.com/index.json"
}
]
Para implementar esta función en modo de desarrollo, ejecute:
serverless deploy
Para implementar esta función con secretos de producción, ejecute:
serverless deploy --stage prod --ALGOLIA_APP_ID=YOUR_APP_ID --ALGOLIA_ADMIN_KEY=YOUR_ADMIN_KEY
Por defecto, esta función se ejecutará cada hora. Puede actualizar esto según lo desee al abrir serverless.yml
y cambiar functions.main.events.schedule
.
Al implementar la función, Serverless le proporciona el punto final de WebTask que puede usar para activar la actualización del índice.
Dirígete a tu repositorio de GitHub, abre la configuración y luego elige Webhooks desde la barra lateral.
Ahora, cada vez que se empuja un cambio a su repositorio, esta función se activará para implementar su índice de algolia.
Nota: Dependiendo de cuánto tiempo tarda su sitio para implementarse, esto puede hacer que el índice se actualice prematuramente. Para solucionar esto, puede establecer la variable de desbloqueo en
secrets.yml
para que la función espere x número de segundos antes de ejecutarse.