Eine serverlose Funktion zur Aktualisierung einer oder mehrere Algolienindizes von JSON -Endpunkten mithilfe einer einfachen Webtask -Funktion.
Sie müssen zuerst Node & NPM installieren lassen.
Nach der Installation führen Sie aus:
npm install serverless -g && npm install
Bevor Sie diese Funktion verwenden können, müssen Sie mit dem Anbieter (Webtask von Auth0) autorisieren. Dies ist extrem einfach, einfach rennen:
serverless config credentials --provider webtasks
Sie werden nach einer Telefonnummer oder E -Mail gefragt. Sie erhalten sofort einen Verifizierungscode. Geben Sie den Bestätigungscode ein und Ihr Profil wird vollständig eingerichtet und verwendet.
Diese Funktion benötigt die folgenden Konfiguration:
secrets.yml
-Datei mit Ihrer Algolia -Anwendungs -ID und einer geheimen Zugriffsschlüssel.indexes.js
mit einer Liste Ihrer Indizes und ihrer JSON -Endpunkte. secrets.yml
:
cp ./config/secrets.yml.stub ./config/secrets.yml
Öffnen Sie dann config/secrets.yml
und geben Sie die Werte für ALGOLIA_APP_ID
und ALGOLIA_ADMIN_KEY
aus Ihrem Algolia -Konto an.
Öffnen Sie anschließend config/indexes.js
und aktualisieren Sie den Beispielindex mit Ihren tatsächlichen Algolia -Indexinformationen. Z.B,
[
{
name: "dist",
url: "https://example.com/index.json"
}
]
Um diese Funktion im Entwicklungsmodus bereitzustellen, führen Sie aus:
serverless deploy
Um diese Funktion mit Produktionsgeheimnissen bereitzustellen, rennen Sie:
serverless deploy --stage prod --ALGOLIA_APP_ID=YOUR_APP_ID --ALGOLIA_ADMIN_KEY=YOUR_ADMIN_KEY
Standardmäßig wird diese Funktion jede Stunde ausgeführt. Sie können dies wie gewünscht aktualisieren, indem Sie serverless.yml
öffnen und functions.main.events.schedule
ändern.
Bei der Bereitstellung der Funktion bietet Serverless Ihnen den Webtask -Endpunkt, mit dem Sie das Index -Update auslösen können.
Gehen Sie zu Ihrem Github -Repository, öffnen Sie die Einstellungen und wählen Sie dann Webhooks aus der Seitenleiste.
Jedes Mal, wenn eine Änderung in Ihr Repository gedrückt wird, wird diese Funktion ausgelöst, um Ihren Algolia -Index bereitzustellen.
Hinweis: Abhängig davon, wie lange Ihre Website für die Bereitstellung dauert, kann dies dazu führen, dass der Index vorzeitig aktualisiert wird. Um dies zu beheben, können Sie die Darfounce -Variable in
secrets.yml
einstellen, damit die Funktion die Anzahl der Sekunden vor dem Laufen warten lässt.