Uma função sem servidor para atualizar um ou mais índices de Algolia a partir de pontos de extremidade JSON usando uma função simples da WebTask.
Você deve primeiro ter o nó & npm instalado.
Depois de instalado, execute:
npm install serverless -g && npm install
Antes de poder usar essa função, você precisa autorizar com o provedor (Webtask by Auth0). Isso é extremamente simples, basta correr:
serverless config credentials --provider webtasks
Você será solicitado um número de telefone ou e -mail. Você receberá imediatamente um código de verificação. Digite o código de verificação e seu perfil será totalmente configurado e pronto para uso.
Esta função precisa do seguinte a ser configurado:
secrets.yml
com sua chave de ID do aplicativo de Algolia e chave de acesso secreto.indexes.js
com uma lista de seus índices e seus pontos de extremidade JSON. Para criar seu arquivo secrets.yml
, execute:
cp ./config/secrets.yml.stub ./config/secrets.yml
Em seguida, abra config/secrets.yml
e forneça os valores para ALGOLIA_APP_ID
e ALGOLIA_ADMIN_KEY
da sua conta de Algolia.
Em seguida, abra config/indexes.js
e atualize o índice de exemplo com suas informações reais do índice de Algolia. Por exemplo,
[
{
name: "dist",
url: "https://example.com/index.json"
}
]
Para implantar esta função no modo de desenvolvimento, execute:
serverless deploy
Para implantar esta função com segredos de produção, execute:
serverless deploy --stage prod --ALGOLIA_APP_ID=YOUR_APP_ID --ALGOLIA_ADMIN_KEY=YOUR_ADMIN_KEY
Por padrão, essa função será executada a cada hora. Você pode atualizá -lo conforme desejado, abrindo serverless.yml
e alterando functions.main.events.schedule
.
Ao implantar a função, o servidor sem servidor fornece o terminal WebTask que você pode usar para acionar a atualização do índice.
Vá para o seu repositório do GitHub, abra as configurações e escolha Webhooks na barra lateral.
Agora, cada vez que uma alteração é empurrada para o seu repositório, essa função será acionada para implantar seu índice de Algolia.
NOTA: Dependendo de quanto tempo seu site leva para implantar, isso pode fazer com que o índice seja atualizado prematuramente. Para corrigir isso, você pode definir a variável Debounce no
secrets.yml
para fazer com que a função aguarde x número de segundos antes de ser executado.