6

スキーマの移行を実行できるように、アプリへのユーザーアクセスを無効にしたいのですが。私はいくつかの可能性を調べ、考えられる欠点を見つけました。

  1. データストアの書き込みを無効にする-アプリケーション全体を停止して、エラーなどが表示されないようにします。また、書き込みを無効にすると、移行を実行できなくなると思います。

  2. アプリケーションを無効にする-これによってユーザーに対してのみアプリケーションが無効になり、移行を実行できなくなるかどうかはわかりません。また、無効化/有効化の所要時間もわかりません。

  3. ドメイン名を一時ページにリダイレクトします-私のアプリは引き続きappspot.comからアクセスできます

  4. 「一時的にダウンした」ページに移動する以外のリクエストに応答しない新しいバージョンのアプリをアップロードします。

助言がありますか?

4

3 に答える 3

3

提案番号4は、おそらくこれを行うための最良の方法のようです。一部のフレームワークには「メンテナンスモード」があり、すべての着信リクエストは、メンテナンスのためにサイトがダウンしていることを示すページにリダイレクトされます。フレームワークがそのようなモードをサポートしていない場合は、アプリの新しいバージョン(おそらくバージョンと呼ばれるmaintenance)をアップロードして、新しいデフォルトバージョンとして切り替えることができます。このバージョンは、すべての着信リクエストが「メンテナンスページ」に表示され、サイトがメンテナンスのためにダウンしていることを示す空のアプリである可能性があります。次に、移行コードを使用してアプリのバージョンに手動で移動し、実行します(http://<version>.<appname>.appspot.com)。移行が完了したら、アプリのデフォルトバージョンを新しいスキーマの新しいバージョンに切り替えます。

あなたの他のアイデアの説明

  1. 書き込みを無効にすると、アプリケーションに書き込みを行うことさえできなくなります。これは、あるアプリから別のアプリ、またはデータストアを「フリーズ」する他のアプリケーションに移行するためのものだと思います。
  2. アプリケーションを無効にすると、アプリが完全にダウンします
  3. ドメインをリダイレクトすると、移行にDNSラグが発生します。これは、各方向に完全に伝播するのに48時間かかる場合があります(一時ページに切り替えてから、新しいバージョンに戻す)。
  4. 前述のように、私見これはそれを行うための最良の方法です。
于 2013-02-10T16:14:07.863 に答える
2

両方のスキーマを使用し、新しいバージョンのアプリを使用して移行することはできません。これは、新しいスキーマのみを使用します。このようにして、いつでも古いバージョンにフォールバックできます。

ところで。データストアにはスキーマがないため、アプリを停止せずに「スキーマ」を変更することは常に可能でした。

于 2013-02-10T14:10:59.693 に答える
0

[GCP]>[AppEngine]>[設定]>[アプリケーションを無効にする]に移動します。

アプリケーションはいつでも有効にできます。

このアプリを無効にすると、いくつかのことが起こります。

  1. アプリは配信を停止します

  2. すべてのデータと状態が保存されます

  3. 該当する場合は、引き続き請求料金が発生します

  4. タスクキューは引き続き実行されます。クラウドタスクUIで一時停止できます

于 2021-02-08T17:35:57.860 に答える