3

GAE の Datastore のバックアップについて読むと、次のようになります。

バックアップまたは復元中は、アプリケーションを読み取り専用モードに設定することを強くお勧めします...

大雑把に調べたところ、これを行う唯一の方法、ページ内のどこかで書き込みを無効または再度有効にする GAE Web 管理 UI を使用することであることがわかりました。

GAE アプリのデータストアを自動的にバックアップ/復元できる Ant ビルドファイルおよび/またはシェルおよび/または Python スクリプトを作成したいと考えています。これは、データストアへの書き込みの有効化/無効化 (アプリを「読み取り専用」モードに切り替える) を自動化する方法が必要であることを意味します。または Python)。

だから私は尋ねます:これは可能ですか?それとも、これは「手動で」(Web 管理 UI を介して) 行う必要があるものですか? 前もって感謝します!

4

2 に答える 2

3

Capabilities Python APIは、DataStore の書き込みなど、アプリの一部の機能の状態を読み取るために使用できる API です。残念ながら、この Api には状態を読み取るメソッドしかありませんが、状態を設定するメソッドはありません。

編集:


コードは Capabilities API を参照して App エンジンの各機能の状態を取得し、割り当て超過やシステム メンテナンスなどによる障害を回避する必要があるため、考えられる解決策の 1 つは、機能の前に一種のインターフェイスを配置することです。各機能を無効にするフラグ内の API。

擬似コードすなわち:

class DatasToreWriteCapabiliti{
  boolean DATASTORE_WRITE = true;

  public disable(){ DATASTORE_WRITE = false;}
  public enable(){ DATASTORE_WRITE = true;}

  public CapabilityStatus status(){
     if(DATASTORE_WRITE == false) return CapabilityStatus.DISABLED;

     CapabilitiesService service = CapabilitiesServiceFactory.getCapabilitiesService();
     return service.getStatus(Capability.DATASTORE_WRITE).getStatus();
  }
}
于 2012-10-27T07:46:18.063 に答える
1

「アプリケーションを読み取り専用モードに設定する」という言葉の意味に混乱していると思います: これは GAE によって提供されるサービスだと思いますが、実際には、アプリで書き込みを防止するモードを作成することを意味します。バックアップを実行しています。

Web インターフェイスから利用できるオプションの読み取り専用モードは、バックアップ中にフリーズするようには設計されておらず、データストアのステータスを管理するためだけに設計されていると思います。

于 2012-10-31T15:38:11.213 に答える