舊版套裝服務提供的大部分功能,現在由 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 的替代方案。Firestore 是 Datastore 的最新版本,建議使用 Cloud Datastore 用戶端程式庫。
圖片
您可以從 Cloud Storage 提供圖片、直接提供圖片,或是使用第三方內容傳遞聯播網 (CDN)。
如要調整圖片大小、轉換圖片格式及處理圖片,請使用圖片處理程式庫,例如 ImageJ2、 imgscalr 或 thumbnailator
如要使用其中一個第三方程式庫,請將程式庫新增為依附元件,並更新程式碼來呼叫程式庫的 API。
App Engine Images 服務也可透過服務網址來處理圖片大小調整作業,藉此避免對應用程式發出動態要求。如需類似功能,您可以提前產生經重新調整大小的圖片,並將其上傳至 Cloud Storage 以提供使用。或者,您也可以使用第三方內容傳遞聯播網 (CDN) 服務來調整圖片大小。
記錄
建議您更新應用程式,改用 Cloud Logging。這項服務支援多項功能,例如在 Logs Explorer 中查看記錄、下載記錄、依嚴重程度篩選訊息,以及將應用程式訊息與特定要求建立關聯。或者,如果您偏好簡單而非資料準確度,可以將結構化記錄寫入 stdout 或 stderr。
詳情請參閱「寫入及查看記錄」。
郵件
為提升電子郵件安全性,並確保大量電子郵件能穩定送達,建議您從舊版 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 API 的 oauth2.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 為基礎的驗證機制。