Cloud Functions를 cron처럼 실행

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
  • Create Cloud PubSub
  • Create Cloud Functions
  • Create Cloud Scheduler
  • Run Job

  • 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의 자격 증명을 가져와서...하고 있었기 때문에 그 편이 쉬웠습니다.

    좋은 웹페이지 즐겨찾기