Fungsi tanpa server untuk memperbarui satu atau lebih indeks algolia dari titik akhir JSON menggunakan fungsi webTask sederhana.
Pertama -tama Anda harus menginstal Node & NPM.
Setelah diinstal, jalankan:
npm install serverless -g && npm install
Sebelum Anda dapat menggunakan fungsi ini, Anda perlu mengotorisasi dengan penyedia (WebTask oleh AUTH0). Ini sangat sederhana, jalankan saja:
serverless config credentials --provider webtasks
Anda akan diminta nomor telepon atau email. Anda akan segera menerima kode verifikasi. Masukkan kode verifikasi dan profil Anda akan sepenuhnya diatur dan siap digunakan.
Fungsi ini membutuhkan yang berikut untuk dikonfigurasi:
secrets.yml
dengan ID Aplikasi Algolia Anda dan Kunci Akses Rahasia.indexes.js
dengan daftar indeks Anda dan titik akhir JSON mereka. Untuk membuat file secrets.yml
Anda, jalankan:
cp ./config/secrets.yml.stub ./config/secrets.yml
Kemudian buka config/secrets.yml
dan berikan nilai untuk ALGOLIA_APP_ID
dan ALGOLIA_ADMIN_KEY
dari akun algolia Anda.
Selanjutnya, buka config/indexes.js
dan perbarui indeks contoh dengan informasi indeks algolia aktual Anda. Misalnya,
[
{
name: "dist",
url: "https://example.com/index.json"
}
]
Untuk menggunakan fungsi ini dalam mode pengembangan, jalankan:
serverless deploy
Untuk menggunakan fungsi ini dengan rahasia produksi, jalankan:
serverless deploy --stage prod --ALGOLIA_APP_ID=YOUR_APP_ID --ALGOLIA_ADMIN_KEY=YOUR_ADMIN_KEY
Secara default, fungsi ini akan berjalan setiap jam. Anda dapat memperbarui ini seperti yang diinginkan dengan membuka serverless.yml
, dan mengubah functions.main.events.schedule
.
Saat menggunakan fungsi, Serverless memberi Anda titik akhir webTask yang dapat Anda gunakan untuk memicu pembaruan indeks.
Pergilah ke repositori GitHub Anda, buka pengaturan , lalu pilih Webhooks dari bilah samping.
Sekarang setiap kali perubahan didorong ke repositori Anda, fungsi ini akan dipicu untuk menggunakan indeks algolia Anda.
Catatan: Bergantung pada berapa lama situs Anda untuk digunakan, ini dapat menyebabkan indeks diperbarui sebelum waktunya. Untuk memperbaikinya, Anda dapat mengatur variabel debounce di
secrets.yml
untuk membuat fungsi menunggu x jumlah detik sebelum berjalan.