Cloud Functions를 cron처럼 실행
모두가 생각하는이 기능이지만 Cloud Functions 자체에는 Cron 기능이 없으며 다른 서비스를 결합해야합니다.
Cloud Functions 트리거에 Cloud PubSub를 설정하고 Azure Function에서 메시지를 게시하여 정기 실행을 수행했습니다.
HTTP를 트리거하지 않는 것은 보안 문제입니다. Cloud Functions의 URL은 리전/프로젝트 ID/이름으로 정해지므로, 식별되기 쉽거나 코드로 인증을 했다고 해도 인증될 때까지는 조금 실행되는 등 세세한 부분을 밀어넣기 때문에 pubsub를 사용하고 있습니다.
왜 Azure Function만으로 하고 있는 것은 그렇다고 Azure Function에서는 동작하지 않지만, Cloud Functions에서는 동작한다는 것이 있었기 때문입니다(자세한 것은 생략).
전치가 길어졌지만, 11월에 릴리스된 Cloud Scheduler를 사용하는 것으로 보다 간단하게 정기 실행을 할 수 있게 되었습니다.
위의 Azure Function 부분을 Cloud Scheduler로 대체한 방법을 소개하겠습니다.
h tps : // c ぉ d. 오, ぇ. 코 m / s 치 즈 ぇ r / 두 cs / 구이 cks rt
h tps : // c ぉ d. 오, ぇ. 코 m / s 치 즈 ぇ r / 두 cs / t t 푸 b-b
Cloud PubSub
Cloud PubSub를 만듭니다. 중계 포인트가 됩니다.
$ gcloud pubsub topics create test-topic
Creater Cloud Functions
--trigger-topic=test-topic
라고 하는 식으로 방금 작성한 토픽을 지정해 갑니다.
$ gcloud functions deploy test --source='https://source.developers.google.com/projects/<project-id>/repos/tyarin/moveable-aliases/gcp' --runtime=nodejs8 --trigger-topic=test-topic
Create Cloud Scheduler Job
포털의 Cloud Scheduler => 작업 만들기
여기서 페이로드에 동적 값(예: 시간 등)을 입력하는 방법을 알 수 없습니다. 아시는 분 가르쳐 주시면 다행입니다.
Run Job
작업 작성 후 작업 목록이 보이므로 "지금 실행"버튼을 누르십시오.
아래와 같이 결과가 성공하면 OK입니다.
실행 로그도 확인할 수 있습니다(Scheduler측).
요약
Cloud Scheduler를 사용하여 cron 형식으로 Cloud Functions를 호출할 수 있었습니다.
지금까지는 Azure Function에 GCP의 자격 증명을 가져와서...하고 있었기 때문에 그 편이 쉬웠습니다.
Reference
이 문제에 관하여(Cloud Functions를 cron처럼 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tkykm/items/35a740f99e6dd52e0b75텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)