Google Application Engineで未使用のインデックスを削除するにはどうすればよいですか?
-
03-07-2019 - |
質問
誤って追加した GAEアプリケーションへの新しいフィルター。インデックスのステータスは現在「提供中」ですが、そのインデックスはまったく必要ないので削除したいと思います。どうすればいいですか?
解決
こちらに記載されています。お役に立てば幸いです。
未使用のインデックスの削除
インデックスを変更または削除するとき index.yamlから、元のインデックスは App Engineから削除されていません 自動的に。これにより、 古いバージョンを残す機会 新しいインデックスで実行中のアプリの 構築中、または 問題があればすぐに古いバージョン 新しいバージョンで発見されました。
古いインデックスが 不要になった場合は、削除できます 次を使用してApp Engineから コマンド:
appcfg.py vacuum_indexes myapp/
このコマンドは、ローカルバージョンのindex.yamlに記載されていないアプリのすべてのインデックスを削除します。
他のヒント
GAE / Javaの場合、ドキュメントにはこの情報:
未使用のインデックスの削除
...
古いインデックスが不要になったことを確認したら、次のことができます。 vacuum_indexesアクションを使用してApp Engineからそれらを削除します。
./appengine-java-sdk/bin/appcfg.sh vacuum_indexes myapp/war
このコマンドは、以下に記載されていないアプリのすべてのインデックスを削除します datastore-indexes.xmlのローカルバージョンと generated / datastore-indexes-auto.xml。
Windows Google AppEngine Java では、 appcfg.cmd コマンドを使用して、デプロイ済みアプリケーションの未使用のインデックスを削除する必要があります。
構文:
appengine-java-sdk-path \ bin \ appcfg.cmd vacuum_indexes project-root-path \ poject-name \ war \
gae-javaの場合、JochenJungが述べたように、" vacuum_indexes"ツールは動作しますが、次の方法でpythonプロジェクトをエミュレートする必要があります。
バキュームツールは、ローカルの開発者ではなく、*。appspot.comをポイントした場合にのみ機能するようです。環境。
- アプリのapp.yamlを作成し、これを/ myapp /ルートディレクトリに最小限に配置します。
application: myproj
version: 4
runtime: python
api_version: 1
where" version&quot ;;アプリのバージョン、「myproj」プロジェクトのGAE名。
- index.yamlを作成し、同じルートディレクトリに配置します。保持したいインデックスのインデックス情報を面倒にそのファイルに入れるのではなく、ツールは削除するインデックスごとにyes / noの確認を提供することがわかります。インデックスを削除し、確認を使用して保持したいインデックスを保存する必要があります。
indexes:
# AUTOGENERATED
次に、上記のようにコマンドを実行します、
/appcfg.py vacuum_indexes /path/to/myproj/
2019年2月現在:
gcloud datastore indexes cleanup index.yaml
maven mvn appengine:vacuum_indexes
を使用している場合。 mvn appengine:update
は必要ありません。コマンドはリモートサーバーを更新します。
mavenコマンドの完全なリストこちら。
Javaを使用しているWindowsでは、このコマンドはうまくいきました:
appcfg.cmd vacuum_indexes C:\Users\Name\AndroidStudioProjects\Project\backend\src\main\webapp\
注: webapp
フォルダーに datastore-indexes.xml
があることを確認してください(これらのインデックスは使用されません)。
gcloudの現在のバージョンでは、次のことができます。
gcloud datastore cleanup-indexes index.yaml
appcfg.cmd [...]を呼び出すよりも直感的です。
gcloud datastore cleanup-indexes /path/to/file/index.yaml
このコマンドは動作しなくなりました。
gcloudデータストアインデックスのクリーンアップ/path/to/index.yaml
これは新しいコマンドです。
googleクラウドコンソール
で実行する必要があります。通常、 googleクラウドコンソール
の file upload
機能を使用して index.yaml
ファイルをアップロードできます。ファイルは _admin
に直接呼び出されます。 cd
でそこに呼び出して、
gcloudデータストアインデックスのクリーンアップindex.yaml
ヒント
javaプロジェクトで datastore
を使用している場合、 index.yaml <の代わりに
datastore-indexes.xml
があります。 / code>。どこを探すべきかわからない場合は、 index.yaml
ファイルを見つけるのに問題が生じる可能性があります。
IDEの deploy console
を見ると、 index.yaml
ファイルのパスを簡単に見つけることができます。