Resolver problemas com tutoriais

Se você tiver problemas ao configurar o tutorial, esta página lista os problemas que podem ocorrer e oferece sugestões sobre como corrigir cada um deles.

A pasta cloudshell_open está ausente

Se você não encontrar a pasta cloudshell_open no seu diretório inicial executando ls ~, a pasta e os arquivos dela serão perdidos. Esse problema ocorre quando você usa o Cloud Shell no modo temporário e perde a conexão com a Internet ou atualiza a página. Para resolver esse problema, execute o tutorial novamente desde o início. Para evitar a perda de arquivos no futuro, considere mudar para o modo padrão.

Não foi possível detectar um ID do projeto no ambiente atual

O seguinte erro ocorre quando você tenta executar um exemplo de código:

ERROR Unable to detect a Project Id in the current environment.

Esse problema ocorre quando o projeto do Google Cloud não está definido. Para resolver esse problema, defina o projeto executando o seguinte comando:

gcloud config set project <YOUR-PROJECT-ID>

Erros de key.json ao executar exemplos de código

Um dos seguintes erros ocorre quando você executa exemplos de código:

File /home/user/key.json is not a valid json file
no JSON input found
The file at /home/user/key.json does not exist, or it is not a file
Could not find file '/home/user/key.json'
Error reading credential file from location /home/user/key.json: Value cannot be null

Esse problema ocorre quando o arquivo key.json, usado para autenticar uma conta de serviço, está vazio ou ausente. Para verificar se é esse o caso, execute o seguinte comando:

cat ~/key.json

Isso imprime o conteúdo do arquivo ou a mensagem No such file or directory. Um arquivo vazio significa que o erro ocorreu durante a criação da chave. Um arquivo ausente significa que o erro ocorreu antes disso. Para resolver esse problema, siga a etapa do tutorial "Preparar o ambiente de trabalho".

A pesquisa de comércio com IA não foi usada no projeto ou está desativada

O seguinte erro ocorre quando você tenta executar um tutorial:

PERMISSION_DENIED: AI Commerce Search API has not been used in project <YOUR-PROJECT-ID> before or it is disabled

Para resolver esse problema, ative a pesquisa de comércio com IA na página de detalhes da API/serviços do console do Google Cloud ou execute o seguinte comando:

gcloud services enable \
    retail.googleapis.com \
    --project=<YOUR-PROJECT-ID>

A conta de serviço não tem permissão para acessar a instância do projeto

O seguinte erro ocorre quando você atribui papéis à conta de serviço:

User [USER@YOUR-PROJECT-ID.iam.gserviceaccount.com] does not have permission to access projects instance [YOUR-PROJECT-ID:setIamPolicy] (or it may not exist): Policy update access denied.

Para resolver esse problema, verifique se você tem a conta certa ativa executando o comando gcloud auth list no terminal. Verifique se a conta ativa é a conta de serviço. Acesse a página IAM no console do Google Cloud para verificar se a conta de serviço é proprietária do seu projeto na nuvem do Google Cloud.

Autenticação inválida usando credenciais de usuário final

O seguinte erro ocorre quando você executa exemplos de código:

PERMISSION_DENIED: Your application has been authenticated using end user credentials from the Google Cloud SDK or Google Cloud Shell which are not supported by the retail.googleapis.com.

Esse problema ocorre quando as credenciais do usuário final são usadas em vez de uma conta de serviço. Esse problema também pode ocorrer quando uma conta de serviço não está ativa ou as variáveis de ambiente necessárias não estão definidas. Esse erro pode aparecer depois de reiniciar o Cloud Shell ou abrir uma nova janela do terminal.

Para resolver o problema:

  1. Siga as etapas do tutorial "Preparar o ambiente de trabalho" e verifique se você tem uma conta de serviço ativa executando gcloud auth list.
  2. Defina as variáveis de ambiente:

    1. Para todos os idiomas, execute o comando:
    export GOOGLE_APPLICATION_CREDENTIALS=~/key.json
    
    1. Além disso, para .NET, execute o comando:
    export GOOGLE_PROJECT_ID=<YOUR-PROJECT-ID>
    

Erro de permissões quando a conta de serviço não tem os papéis necessários

O seguinte erro ocorre quando você executa exemplos de código:

google.api_core.exceptions.PermissionDenied: 403 Permission 'retail.<YOUR-REQUEST>' denied on resource '//retail.googleapis.com/projects/<YOUR-PROJECT-ID>/locations/<YOUR-LOCATION>' (or it may not exist). [reason: "IAM_PERMISSION_DENIED"

Esse problema ocorre quando a conta de serviço não tem os papéis necessários: retail.admin e editor. Para resolver esse problema, configure seu ambiente de trabalho seguindo as etapas do tutorial "Preparar o ambiente de trabalho".

A operação de pesquisa não retornou resultados correspondentes

Esse problema ocorre quando nenhum produto no catálogo corresponde à consulta de pesquisa ou o catálogo de produtos está vazio. Para resolver esse problema, verifique se você tem produtos no catálogo na página Catálogo do console do Google Cloud. Se não tiver, importe os dados do catálogo seguindo a etapa do tutorial "Importar dados do catálogo".

Ainda há problemas

Tente redefinir Cloud Shell e executar os tutoriais desde o início.