Um conjunto de produtos é um contêiner simples para um grupo de produtos.
Criar um conjunto de produtos vazio
É melhor usar um único conjunto de produtos para todos os seus itens e criar outros conjuntos para os testes necessários. Nos exemplos de código a seguir, mostramos como criar um conjunto vazio.
REST
Antes de usar os dados da solicitação, substitua estes dados:
- PROJECT_ID: ID do seu projeto Google Cloud .
- LOCATION_ID: um identificador de local válido. Os identificadores de local válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - DISPLAY_NAME: um nome de exibição de string de sua escolha.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets
Corpo JSON da solicitação:
{ "displayName": "display-name" }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando abaixo:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando abaixo:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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/productSets" | Select-Object -Expand Content
Quando a solicitação é bem-sucedida, o servidor retorna um código de status HTTP 200 OK
e a resposta no formato JSON:
Será exibido um código semelhante a este. É possível usar o ID do conjunto de produtos (neste caso, b6d809615b6dd675
) para executar outras operações no conjunto.
{ "name": "projects/project-id/locations/location-id/productSets/b6d809615b6dd675", "displayName": "new-product-set" }
Go
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte Bibliotecas de cliente da Pesquisa de Produtos da API Vision. Para mais informações, consulte a documentação de referência da API Go da Pesquisa de Produtos (API Vision).
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Saiba mais em Configurar a autenticação em um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte Bibliotecas de cliente da Pesquisa de Produtos da API Vision. Confira mais detalhes na documentação de referência da API Java da Pesquisa de Produtos (API Vision).
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Saiba mais em Configurar a autenticação em um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte Bibliotecas de cliente da Pesquisa de Produtos da API Vision. Confira mais detalhes na documentação de referência da API Node.js da Pesquisa de Produtos (API Vision).
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Saiba mais em Configurar a autenticação em um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte Bibliotecas de cliente da Pesquisa de Produtos da API Vision. Confira mais detalhes na documentação de referência da API Python da Pesquisa de Produtos (API Vision).
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Saiba mais em Configurar a autenticação em um ambiente de desenvolvimento local.
Linguagens adicionais
C#: siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para .NET.
PHP: siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para PHP.
Ruby: siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para Ruby.
Usar a importação em massa para criar um conjunto de produtos com itens
Também é possível usar a função de importação em massa para criar simultaneamente um conjunto de produtos, criar vários produtos e as imagens de referência deles.
Várias referências do conjunto de produtos, dos produtos e das imagens de referência estão definidas no arquivo CSV de importação em massa que você usa. Para mais informações, consulte a seção Como formatar um arquivo CSV de importação em massa.
Realize a importação em massa executando este código:
REST
Antes de usar os dados da solicitação, substitua estes dados:
- PROJECT_ID: o ID do projeto do Google Cloud .
- LOCATION_ID: um identificador de local válido. Os identificadores de local válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - STORAGE_PATH: um bucket/diretório do Cloud Storage em que o arquivo CSV de entrada é armazenado O usuário solicitante precisa ter, pelo menos, permissão de leitura no bucket.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import
Corpo JSON da solicitação:
{ "inputConfig": { "gcsSource": { "csvFileUri": "storage-path" } } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando abaixo:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando abaixo:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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/productSets:import" | Select-Object -Expand Content
Será exibido um código semelhante a este. Use o ID da operação
(neste caso, f10f34e32c40a710
) para receber o status da tarefa. Veja um
exemplo em Como saber o status de uma operação:
{ "name": "projects/project-id/locations/location-id/operations/f10f34e32c40a710" }
Depois que a operação de longa duração for concluída, será possível conseguir os detalhes da operação de importação. A resposta será semelhante a esta:
{ "name": "locations/location-id/operations/f10f34e32c40a710", "metadata": { "@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata", "state": "SUCCESSFUL", "submitTime": "2019-12-06T21:16:04.476466873Z", "endTime": "2019-12-06T21:16:40.594258084Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.vision.v1.ImportProductSetsResponse", "referenceImages": [ { "name": "projects/project-id/locations/location-id/products/product_id0/referenceImages/image0", "uri": "gs://my-storage-bucket/img_039.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id1/referenceImages/image1", "uri": "gs://my-storage-bucket/img_105.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id2/referenceImages/image2", "uri": "gs://my-storage-bucket/img_224.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id3/referenceImages/image3", "uri": "gs://my-storage-bucket/img_385.jpg" } ], "statuses": [ {}, {}, {}, {} ] } }
Go
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte Bibliotecas de cliente da Pesquisa de Produtos da API Vision. Para mais informações, consulte a documentação de referência da API Go da Pesquisa de Produtos (API Vision).
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Saiba mais em Configurar a autenticação em um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte Bibliotecas de cliente da Pesquisa de Produtos da API Vision. Confira mais detalhes na documentação de referência da API Java da Pesquisa de Produtos (API Vision).
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Saiba mais em Configurar a autenticação em um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte Bibliotecas de cliente da Pesquisa de Produtos da API Vision. Confira mais detalhes na documentação de referência da API Node.js da Pesquisa de Produtos (API Vision).
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Saiba mais em Configurar a autenticação em um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte Bibliotecas de cliente da Pesquisa de Produtos da API Vision. Confira mais detalhes na documentação de referência da API Python da Pesquisa de Produtos (API Vision).
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Saiba mais em Configurar a autenticação em um ambiente de desenvolvimento local.
Linguagens adicionais
C#: siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para .NET.
PHP: siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para PHP.
Ruby: siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para Ruby.
Como saber o status de uma operação
Várias operações solicitadas são de longa duração, como a criação do conjunto de produtos por meio da importação em massa, a limpeza de um conjunto de produtos e a limpeza de produtos órfãos. Esses tipos de solicitações retornarão um JSON com um ID de operação que pode ser usado para receber o status da operação.
Por exemplo, uma exclusão em lote (purge
) request retorna o seguinte JSON:
{ "name": "projects/project-id/locations/location-id/operations/bc4e1d412863e626" }
Nesse caso, o ID da operação é bc4e1d412863e626
. Os exemplos a seguir mostram como receber o status dessa operação com esse ID.
REST
Antes de usar os dados da solicitação, substitua estes dados:
- PROJECT_ID: o ID do projeto do Google Cloud .
- LOCATION_ID: um identificador de local válido. Os identificadores de local válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - OPERATION_ID: o ID da operação. Ele é o último elemento do nome
da operação. Por exemplo:
- nome da operação:
projects/PROJECT_ID/locations/LOCATION_ID/operations/bc4e1d412863e626
- ID da operação:
bc4e1d412863e626
- nome da operação:
Método HTTP e URL:
GET https://vision.googleapis.com/v1/locations/location-id/operations/operation-id
Para enviar a solicitação, escolha uma destas opções:
curl
Execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://vision.googleapis.com/v1/locations/location-id/operations/operation-id"
PowerShell
Execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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 } }
Você verá uma saída semelhante à seguinte para uma operação de exclusão permanente de produtos órfãos:
{ "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 } }