간단한 Webtask 기능을 사용하여 JSON 엔드 포인트에서 하나 이상의 Algolia 지수를 업데이트하기위한 서버리스 기능.
먼저 Node & NPM이 설치되어 있어야합니다.
일단 설치되면 실행 :
npm install serverless -g && npm install
이 기능을 사용하기 전에 제공자 (auth0의 Webtask)와 함께 승인해야합니다. 이것은 매우 간단합니다.
serverless config credentials --provider webtasks
전화 번호 나 이메일을 요청 받게됩니다. 즉시 확인 코드를받을 수 있습니다. 확인 코드를 입력하면 프로필이 완전히 설정되어 사용할 준비가됩니다.
이 기능은 다음을 구성하려면 다음을 필요로합니다.
secrets.yml
파일.indexes.js
파일. 비밀을 만들려면 secrets.yml
파일을 실행하십시오.
cp ./config/secrets.yml.stub ./config/secrets.yml
그런 다음 config/secrets.yml
열고 Algolia 계정에서 ALGOLIA_APP_ID
및 ALGOLIA_ADMIN_KEY
값을 제공하십시오.
다음으로 config/indexes.js
열고 실제 Algolia Index 정보로 예제 인덱스를 업데이트하십시오. 예,
[
{
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 지수를 배포하도록 트리거됩니다.
참고 : 사이트가 배포하는 데 걸리는 시간에 따라 인덱스가 조기에 업데이트 될 수 있습니다. 이 문제를 해결하려면
secrets.yml
에서 디오프 네스 변수를 설정하여 실행하기 전에 기능이 x 초를 기다리도록 할 수 있습니다.