從舊版套裝組合服務遷移

舊版套裝服務提供的大部分功能,現在由 Cloud 用戶端程式庫提供。詳情請參閱下方的建議替代方案。

如果專案無法遷移至未綁定的解決方案,您或許可以繼續在 Java 11/17 應用程式中使用舊版綁定服務,做為備用方案。這個做法可讓您在遷移週期稍後,彈性改用未綁定的服務。

從舊版套裝服務遷移後,您可以繼續使用 App Engine,或遷移至 Cloud Run。Cloud Run 的設計宗旨是提升 App Engine 體驗,並整合標準環境和彈性環境的許多最佳功能。如要比較功能及瞭解如何遷移,請參閱「App Engine 和 Cloud Run 比較指南」。

App Engine 套裝組合服務的遷移路徑

Blobstore

如要儲存及擷取資料,請透過 Cloud 用戶端程式庫使用 Cloud Storage。如要開始使用,請參閱「使用 Cloud Storage」。

Datastore

您可以使用 Datastore 模式的 Firestore,做為 Datastore API 的替代方案。FirestoreDatastore 的最新版本,建議使用 Cloud Datastore 用戶端程式庫

圖片

您可以從 Cloud Storage 提供圖片、直接提供圖片,或是使用第三方內容傳遞聯播網 (CDN)。

如要調整圖片大小、轉換圖片格式及處理圖片,請使用圖片處理程式庫,例如 ImageJ2imgscalrthumbnailator

如要使用其中一個第三方程式庫,請將程式庫新增為依附元件,並更新程式碼來呼叫程式庫的 API。

App Engine Images 服務也可透過服務網址來處理圖片大小調整作業,藉此避免對應用程式發出動態要求。如需類似功能,您可以提前產生經重新調整大小的圖片,並將其上傳至 Cloud Storage 以提供使用。或者,您也可以使用第三方內容傳遞聯播網 (CDN) 服務來調整圖片大小。

記錄

建議您更新應用程式,改用 Cloud Logging。這項服務支援多項功能,例如在 Logs Explorer 中查看記錄、下載記錄、依嚴重程度篩選訊息,以及將應用程式訊息與特定要求建立關聯。或者,如果您偏好簡單而非資料準確度,可以將結構化記錄寫入 stdoutstderr。 詳情請參閱「寫入及查看記錄」。

郵件

為提升電子郵件安全性,並確保大量電子郵件能穩定送達,建議您從舊版 Mail API 遷移至以 SMTP 為基礎的電子郵件服務,例如 SendGrid、Mailgun 或 Mailjet。

Memcache

如要快取應用程式資料,請使用 Memorystore for Redis

模組

如要取得資訊並修改應用程式正在執行的服務,請併用環境變數和 App Engine Admin API:

服務資訊 存取方式
目前的應用程式 ID GAE_APPLICATION 環境變數
目前的專案 ID GOOGLE_CLOUD_PROJECT 環境變數
目前的服務名稱 GAE_SERVICE 環境變數
目前的服務版本 GAE_VERSION 環境變數
目前的執行個體 ID GAE_INSTANCE 環境變數
預設主機名稱 Admin API apps.get 方法
服務清單 Admin API apps.services.list 方法
服務的版本清單 Admin API apps.services.versions.list 方法
服務的預設版本,包含所有的流量分割 Admin API apps.services.get 方法
版本的執行中執行個體清單 Admin API apps.services.versions.instances.list 方法

如要進一步瞭解應用程式執行中服務的可用資料,請參閱 Java 11/17 執行階段環境

命名空間

Namespaces API 可讓多租戶應用程式為每個租戶指定不重複的命名空間字串,輕鬆劃分租戶資料。

Datastore 直接支援多租戶架構,但其他服務則不支援。 Google Cloud如果多租戶應用程式使用其他 Google Cloud 服務,您需要手動處理多租戶架構。如要將服務的執行個體完全隔離,您可以透過 Cloud Resource Manager API 以程式輔助的方式建立新專案,並且跨專案存取資源。

OAuth

請使用 OAuth 2.0 APIoauth2.tokeninfo 方法,驗證 OAuth 2.0 權杖,而非使用 App Engine OAuth 服務。

您可以在 Compute Engine 上託管任何全文搜尋資料庫 (例如 Elasticsearch),並從您的服務存取該資料庫。

工作佇列

您可以使用 Cloud Tasks REST API、RPC API 或 Cloud 用戶端程式庫,將非同步程式碼的執行工作排入佇列,並使用 Java 11/17 App Engine 標準服務做為推送目標。詳情請參閱「從工作佇列遷移至 Cloud Tasks」。

如要瞭解 Java 11/17,請參閱以下與 Cloud Tasks API 互動的範例程式

在大部分可能需要使用提取佇列 (例如將個別工作提取及處理的工作或訊息排入佇列) 的情況下,Pub/Sub 是個不錯的替代方案,因為它也能提供類似的功能與傳輸保證。

使用者驗證

如需 Users API 的替代方案,請使用「使用者驗證」頁面所述的任何以 HTTP 為基礎的驗證機制。