وظيفة بدون خادم لتحديث مؤشرات Algolia واحدة أو أكثر من نقاط نهاية JSON باستخدام وظيفة WebTask بسيطة.
يجب أن يكون لديك أولاً تثبيت Node & NPM.
بمجرد التثبيت ، قم بتشغيل:
npm install serverless -g && npm install
قبل أن تتمكن من استخدام هذه الوظيفة ، تحتاج إلى التصريح بالمزود (WebTask بواسطة AUTH0). هذا بسيط للغاية ، فقط تشغيل:
serverless config credentials --provider webtasks
سيُطلب منك رقم هاتف أو بريد إلكتروني. ستتلقى على الفور رمز التحقق. أدخل رمز التحقق وسيتم إعداد ملفك الشخصي بالكامل وجاهزًا للاستخدام.
تحتاج هذه الوظيفة إلى تكوين ما يلي:
secrets.yml
مع معرف تطبيق Algolia الخاص بك ومفتاح الوصول السري.indexes.js
مع قائمة الفهارس الخاصة بك ونقاط نهاية JSON الخاصة بهم. لإنشاء ملف secrets.yml
، قم بتشغيل:
cp ./config/secrets.yml.stub ./config/secrets.yml
ثم افتح ALGOLIA_ADMIN_KEY
config/secrets.yml
ALGOLIA_APP_ID
بعد ذلك ، افتح up config/indexes.js
وقم بتحديث فهرس المثال باستخدام معلومات فهرس Algolia الفعلية. على سبيل المثال ،
[
{
name: "dist",
url: "https://example.com/index.json"
}
]
لنشر هذه الوظيفة في وضع التطوير ، قم بتشغيل:
serverless deploy
لنشر هذه الوظيفة مع أسرار الإنتاج ، قم بتشغيل:
serverless deploy --stage prod --ALGOLIA_APP_ID=YOUR_APP_ID --ALGOLIA_ADMIN_KEY=YOUR_ADMIN_KEY
بشكل افتراضي ، سيتم تشغيل هذه الوظيفة كل ساعة. يمكنك تحديث هذا حسب الرغبة عن طريق فتح serverless.yml
، وتغيير functions.main.events.schedule
.
عند نشر الوظيفة ، يوفر لك Serverless نقطة نهاية WebTask التي يمكنك استخدامها لتشغيل تحديث الفهرس.
توجه إلى مستودع GitHub الخاص بك ، وفتح الإعدادات ، ثم اختر Webhooks من الشريط الجانبي.
الآن في كل مرة يتم فيها دفع التغيير إلى مستودعك ، سيتم تشغيل هذه الوظيفة لنشر مؤشر Algolia الخاص بك.
ملاحظة: بناءً على المدة التي يستغرقها موقعك للنشر ، قد يتسبب ذلك في تحديث الفهرس قبل الأوان. لإصلاح ذلك ، يمكنك تعيين متغير Debounce في
secrets.yml
لجعل الوظيفة تنتظر x عدد الثواني قبل التشغيل.