在服務之間進行通訊

區域 ID

REGION_ID 是 Google 根據您在建立應用程式時選取的地區所指派的簡寫代碼。雖然某些區域 ID 可能看起來與常用的國家/地區代碼相似,但此代碼並非對應國家/地區或省份。如果是 2020 年 2 月後建立的應用程式,App Engine 網址會包含 REGION_ID.r。如果是在此日期之前建立的現有應用程式,網址中則可選擇加入地區 ID。

進一步瞭解區域 ID

您可以使用各種方法在 App Engine 服務之間或與其他服務 (包括 Google Cloud 服務和外部應用程式) 進行通訊。

如要與 App Engine 服務進行通訊,最簡單的方法是傳送指定的 HTTP 要求,只要在網址中加入相關資源的名稱或 ID 即可。例如,除了對應的 Google Cloud 專案 ID 外,您還可以加入想要列為目標的服務 ID 或版本 ID:


https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

請注意,VERSION-dot-SERVICE-dot-PROJECT_ID 的總長度不得超過 63 個字元,且開頭或結尾不得使用連字號。其中 VERSION 是版本名稱、SERVICE 是服務名稱,而 PROJECT_ID 是專案 ID。如果合併長度超過 63 個半形字元,您可能會看到錯誤 DNS address could not be found.

進一步瞭解 App Engine 中的請求:

App Engine 服務也可以使用 Pub/Sub 進行通訊,這項服務可以在程序之間提供穩定的非同步多對多訊息傳遞服務。這些程序包含 App Engine 在內,可以是您的應用程式、服務,甚至是外部應用程式的個別執行個體。

如要在不同資料庫和 App Engine 應用程式或某些外部應用程式之間共用資料,請參閱「瞭解資料與檔案儲存空間」一文。

私人通訊

同一個專案中服務之間的通訊

您可以讓 App Engine 彈性服務與同一專案中的另一項 App Engine 服務通訊,而無須將目的地服務公開至公共網際網路。

  1. 設定目的地服務的輸入設定,僅允許「內部」流量。

  2. 請確認來源應用程式版本並未部署至位於不同專案的共用虛擬私有雲網路。

不同專案中的服務之間通訊

如果在專案中執行的應用程式屬於共用虛擬私有雲網路,且該網路已設定為在共用虛擬私有雲網路的主機專案中叫用應用程式,您就可以在 Google Cloud 專案之間使用私人存取權。

如要使用這個模式,請按照在同一個專案中,讓服務之間相互通訊的步驟操作。在彈性環境中,將每個用戶端版本部署至同一個共用虛擬私有雲網路。

在 App Engine 中,您無法使用其他方法透過內部存取權存取其他專案。

保留的網址路徑

以下網址路徑無法使用:

  • 結尾為 /eventlog 的路徑
  • 路徑開頭為 /_ah/
  • 部分以 z 結尾的路徑