API によって作成された参照画像、商品、または商品セットの各リソースを削除できます。
個別のリソースの削除
参照画像を削除する
商品に関連付けられている参照画像を削除できます。
オペレーションがリクエストされると、画像は削除対象としてマーキングされますが、次にインデックスが付与されるまで商品に残ります。
このオペレーションでは Cloud Storage 内の実際の画像ファイルは削除されず、画像への参照のみが商品から削除されます。
REST とコマンドライン
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: GCP プロジェクト ID
- location-id: 有効なロケーション ID。有効なロケーション識別子は
us-west1
、us-east1
、europe-west1
、asia-east1
です。 - product-id: 参照画像に関連付けられている商品の ID。この ID は、商品の作成時にユーザーによってランダムに設定または指定されます。
- image-id: 対象の画像リソースの ID。
HTTP メソッドと URL:
DELETE https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages/image-id
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages/image-id
PowerShell
次のコマンドを実行します。
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages/image-id" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{}
Go
Java
Node.js
Python
商品を削除する
特定のプロジェクトに関連付けられている商品を削除できます。
商品を削除すると、その子となっている画像も削除されます。
REST とコマンドライン
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: GCP プロジェクト ID
- location-id: 有効なロケーション ID。有効なロケーション識別子は
us-west1
、us-east1
、europe-west1
、asia-east1
です。 - product-id: 参照画像に関連付けられている商品の ID。この ID は、商品の作成時にユーザーによってランダムに設定または指定されます。
HTTP メソッドと URL:
DELETE https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id
PowerShell
次のコマンドを実行します。
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{}
Go
Java
Node.js
Python
商品セットを削除する
商品セットは削除することもできます。
商品セットを削除すると、結果から商品セットがすぐに削除されます。ただし、商品セットを削除してもセット内の個々の商品は削除されません。これは、個々の商品が他のセットに含まれる場合があるためです。次のインデックス作成で変更が反映されるまで待つ必要はありません。
このオペレーションでは Cloud Storage 内の実際の画像ファイルは削除されず、API によって作成された ReferenceImage
リソースも削除されません。
REST とコマンドライン
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: GCP プロジェクト ID
- location-id: 有効なロケーション ID。有効なロケーション識別子は
us-west1
、us-east1
、europe-west1
、asia-east1
です。 - product-set-id: 操作を実行する商品セットの ID。
HTTP メソッドと URL:
DELETE https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets/product-set-id
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets/product-set-id
PowerShell
次のコマンドを実行します。
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets/product-set-id" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{}
Go
Java
Node.js
Python
リソースの一括削除
これで、商品を一括削除できるようになりました。商品を一括削除できるのは、次の商品の種類です。
- 特定の商品セット内のすべての商品
- 商品セットに属さないすべての商品
同時操作エラーを回避するには、この商品一括削除の操作が完了した後で、商品セットを削除します。空になった商品セットを再度使用する場合も、一括削除が完了するまで待ってから新しい商品をインポートしてください。
個々の商品についても同様です。一括削除に関連する個々の商品は操作しないでください。たとえば、これらの商品は最終的に削除されてしまうため、別の商品セットに追加してはいけません。
商品セット内の商品を削除する
リクエスト内で商品セット ID を指定すると、指定された商品セット内のすべての商品を削除できます。
他の商品セットに属しているかどうかに関係なく、商品セット内のすべての商品が削除されます。
REST とコマンドライン
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: GCP プロジェクト ID
- location-id: 有効なロケーション ID。有効なロケーション識別子は
us-west1
、us-east1
、europe-west1
、asia-east1
です。 - product-set-id: 操作を実行する商品セットの ID。
HTTP メソッドと URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products:purge
JSON 本文のリクエスト:
{ "force": "true", "productSetPurgeConfig": { "productSetId": "product-set-id" } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products:purge
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products:purge" | Select-Object -Expand Content
このリクエストにより長時間実行オペレーションが開始されます。JSON レスポンスには、この長時間実行オペレーションに関する情報が含まれます。
{ "name": "projects/project-id/locations/location-id/operations/bc4e1d412863e626" }
この場合、operation-id は bc4e1d412863e626
です。
operation-id を使って、このオペレーションの進行状況を追跡できます。オペレーションのステータスの取得例については、オペレーションのステータスの取得をご覧ください。
Go
Java
Node.js
Python
孤立した商品を削除する
リクエスト内でこのオプションを指定すると、商品セットに含まれないすべての商品を削除できます。
REST とコマンドライン
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: GCP プロジェクト ID
- location-id: 有効なロケーション ID。有効なロケーション識別子は
us-west1
、us-east1
、europe-west1
、asia-east1
です。
HTTP メソッドと URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products:purge
JSON 本文のリクエスト:
{ "force": "true", "deleteOrphanProducts": "true" }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products:purge
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products:purge" | Select-Object -Expand Content
このリクエストにより長時間実行オペレーションが開始されます。JSON レスポンスには、この長時間実行オペレーションに関する情報が含まれます。
{ "name": "projects/project-id/locations/location-id/operations/bc4e1d412863e626" }
この場合、operation-id は bc4e1d412863e626
です。
operation-id を使って、このオペレーションの進行状況を追跡できます。オペレーションのステータスの取得例については、オペレーションのステータスの取得をご覧ください。
Go
Java
Node.js
Python
オペレーションのステータスの取得
operation-id を使用して、長時間実行オペレーション(商品セットの削除、孤立した商品の削除など)のステータスを取得できます。
REST とコマンドライン
後述のリクエストのデータを使用する前に、次のように置き換えます。
- location-id: 有効なロケーション ID。有効なロケーション識別子は
us-west1
、us-east1
、europe-west1
、asia-east1
です。 - operation-id: オペレーションの ID。この ID は、オペレーションの名前の最後の要素です。例:
- オペレーション名:
projects/project-id/locations/location-id/operations/bc4e1d412863e626
- オペレーション ID:
bc4e1d412863e626
- オペレーション名:
HTTP メソッドと URL:
GET https://vision.googleapis.com/v1/locations/location-id/operations/operation-id
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://vision.googleapis.com/v1/locations/location-id/operations/operation-id
PowerShell
次のコマンドを実行します。
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://vision.googleapis.com/v1/locations/location-id/operations/operation-id" | Select-Object -Expand Content
{ "name": "locations/location-id/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata", "state": "SUCCESSFUL", "submitTime": "2019-09-04T15:58:39.131591882Z", "endTime": "2019-09-04T15:58:43.099020580Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.vision.v1.PurgeProductsRequest", "parent": "projects/project-id/locations/location-id", "productSetPurgeConfig": { "productSetId": "project-set-id" }, "force": true } }
孤立した商品を削除するオペレーションが完了すると、次のような出力が表示されます。
{ "name": "locations/location-id/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata", "state": "SUCCESSFUL", "submitTime": "2019-09-04T16:08:38.278197397Z", "endTime": "2019-09-04T16:08:45.075778639Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.vision.v1.PurgeProductsRequest", "parent": "projects/project-id/locations/location-id", "deleteOrphanProducts": true, "force": true } }