レガシー バンドル サービスからの移行

従来のバンドル サービスで提供される機能の大部分が Cloud クライアント ライブラリで提供されるようになりました。詳細については、下記のおすすめの代替方法をご覧ください。

バンドルされていないソリューションへの移行がプロジェクトでできない場合、代替として PHP 7 / 8 アプリで従来のバンドル サービスの使用を継続できる可能性があります。このアプローチでは、移行サイクルの後半でバンドルされていないサービスに移行できます。

App Engine バンドル サービスの移行方法の概要

Blobstore

データを格納および取得するには、Cloud クライアント ライブラリを介して Cloud Storage を使用します。ご利用にあたっては、Cloud Storage の使用

Datastore

Datastore API の代わりに、Datastore モードの Firestore を使用できます。FirestoreDatastore の最新バージョンであり、Datastore 用の Cloud クライアント ライブラリを使用することをおすすめします。

画像

画像の配信には、Cloud Storage から行う方法、直接配信する方法、サードパーティのコンテンツ配信ネットワーク(CDN)を使用する方法があります。

画像のサイズ変更、変換、操作を行うには、 GD または ImageMagick

こうしたサードパーティ ライブラリを使用するには、ライブラリを依存関係として追加し、ライブラリの API を呼び出すようにコードを更新します。

また、App Engine Images サービスでは、サービス提供 URL を使用して画像のサイズ変更を処理することで、アプリケーションへの動的リクエストを回避する機能も提供されます。同様の機能は、サイズが変更された画像を事前に生成し、Cloud Storage にアップロードして配信することでも実現できます。または、画像のサイズ変更機能が用意されているサードパーティ コンテンツ配信ネットワーク(CDN)サービスを利用することもできます。

ロギング

Cloud Logging を使用するように、アプリを更新することをおすすめします。Cloud Logging では、ログ エクスプローラのログの表示、ログのダウンロード、重大度によるメッセージのフィルタリング、特定のリクエストとのアプリ メッセージの関連付けなどの機能がサポートされています。または、データの精度よりも簡素化を求める場合、構造化ログを stdout または stderr に書き込むこともできます。詳細については、ログの書き込みと表示をご覧ください。

メール

メールを送信するには、SendGridMailgunMailjet などのサードパーティのメール プロバイダを使用します。これらのサービスはいずれも、アプリケーションからメールを送信するための API を提供しています。現時点では、受信メッセージングにおすすめのサードパーティのプロバイダはございません。

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 メソッド

アプリケーションが実行しているサービスに関する利用可能なデータの詳細については、PHP 7 / 8 ランタイム環境をご覧ください。

OAuth

App Engine OAuth サービスを使用して OAuth 2.0 トークンを確認する代わりに、OAuth 2.0 APIoauth2.tokeninfo メソッドを使用します。

Compute Engine 上で Elasticsearch のような全文検索データベースをホストし、サービスからアクセスします。

タスクキュー

Cloud Tasks REST API、RPC API、または Cloud クライアント ライブラリを使用して非同期コードを実行するタスクをキューに入れ、PHP 7 / 8 App Engine 標準サービスを push ターゲットとして使用します。詳細については、タスクキューから Cloud Tasks への移行をご覧ください。

pull されて別個のワーカーで処理されるタスクやメッセージをキューに追加する場合など、pull キューを使用する多くのケースでは、類似の機能と配信の確実性を備えている Pub/Sub が適切な代替策となり得ます。

ユーザー認証

Users API の代わりに、ユーザー認証で説明されている HTTP ベースの認証メカニズムのいずれかを使用します。