2017-07-25 27 views
2

私はjavaのAzureテーブルのすべての行を削除する作業をしています。それを照会することなくそれを行うことはできますか?あなたがテーブルを照会したくない場合は、事前Azureテーブルのすべてのエンティティを削除するには?

+0

削除して再作成しますか? – 4c74356b41

+0

いいえ..すべての行を削除してください。 –

+0

現在、AzureテーブルストレージからPKとRKを指定せずにエントリを削除することはできません。私はあなたがテーブルを削除したくない理由を知っています。テーブルが削除された場合は、テーブルのSASを再作成してすべてのクライアントにディスパッチする必要があります。 PK/RKを計算するパターンが分かっている場合、アルゴリズムを使用してPK/RKペアを生成し、[TableBatchOperation](https://docs.microsoft.com/en-us/dotnet/api/)を使用して行を削除することができますMicrosoft.windowsazure.storage.table.tablebatchoperation?redirectedfrom = MSDN&view = azurestorage-8.1.3)、一度に複数の操作を実行できます。 – Amor

答えて

2

私はすべてのデータを取得した場合、私はその上でクエリを削除を実行することができますか?

データを削除するだけであれば、PKとRKを取得するだけで済みます。 PKとRKのすべてのデータを取得した後、エンティティの削除クエリを1つずつ実行できます。複雑な削除クエリの場合

は、例えば、クエリの下に現在サポートされていません。

delete from tablename where PK = '' 

機能のリクエストに使用されているAzureのフィードバックサイトであなたのアイデアを提出することをお勧めします。

https://feedback.azure.com/forums/217298-storage

+0

お返事ありがとうございます。 Iterable エンティティ= cloudTable.execute(新しいTableQuery ())を使用してすべてのエンティティを取得しようとしました。 しかし、動作しませんでした。エラーが発生しました - 引数はnullまたは空の文字列であってはなりません –

+0

すべてのエンティティを取得するには、次のコードを使用してください。 Iterable エンティティ= cloudTable.execute(TableQuery.from(DynamicTableEntity.class)); – Amor

+0

それは働いた..ありがとう:) –

1

で おかげで、何を行うことができますことは、テーブルを削除して再作成することです。

+0

私はこれを試して成功しました。ただし、同時にテーブルを削除すると、データを挿入するときに影響を受ける可能性があります。そこで、すべてのエンティティを取得し、バッチ処理の削除を実行しました。 –

関連する問題