簡體   English   中英

您可以從 Cloud Function 內部調用 Cloud Run 應用程序嗎?

[英]Can you call a Cloud Run app from inside a Cloud Function?

考慮到一些邏輯,我想從 Cloud Function 內部多次調用 Cloud Run 應用程序。 我已經用谷歌搜索了很多,但沒有找到好的解決方案。 這受支持嗎?

我看過工作流程教程,但據我所知,它們旨在在不同的 GPC 服務之間連續傳遞消息。 My Cloud Function 每分鍾按計划運行一次,在發生某些事件時,它每天只需要調用幾次 Cloud Run 應用程序。 我考慮過讓整個應用程序在 Cloud Run 中運行,而不是在 Cloud function 中運行。但是,我認為在 Cloud Run 中運行它比在 Cloud function 中運行更昂貴。

我仔細考慮了您的問題,如果您同意該解決方案,我會想到一個替代方案。 您可以使用Cloud Scheduler按計划安全地異步觸發 Cloud Run 服務。

  • 你需要創建一個service account來關聯Cloud Scheduler,並賦予該service account調用你的Cloud Run服務的權限,即Cloud Run invoker(你可以使用已有的service account來代表Cloud Scheduler,也可以新建一個一個為此)
  • 接下來,您必須創建一個在指定時間調用您的服務的 Cloud Scheduler 作業。 使用配置字符串指定作業運行的頻率或作業間隔。 指定 Cloud Run 服務的完全限定 URL,例如https://myservice-abcdef-uc.a.run.app作業會將請求發送到此 URL。
  • 接下來,指定 HTTP 方法:該方法必須與您之前部署的 Cloud Run 服務所期望的相匹配。 使用 Cloud Scheduler 部署服務時,請確保不允許未經身份驗證的調用。 請 go 通過此文檔了解詳細信息並嘗試執行步驟。

回到您的問題,是的,可以從 Cloud Functions 內部調用您的 Cloud Run 服務。 在這里,您的Cloud Run 服務使用其端點 URL 直接(同步)通過 HTTP 從另一個后端服務(即 Cloud Functions)調用。對於此用例,您應確保每個服務只能向特定服務發出請求。 Go 通過@John Hanley 建議的此文檔,因為它為您提供了需要遵循的步驟。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM