Resolver problemas dos tutoriais

Se você tiver problemas ao configurar seu tutorial, esta página lista os possíveis problemas e fornece sugestões de como corrigir cada um deles.

A pasta cloudshell_open está ausente

Se você não conseguir ver 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 dos arquivos no futuro, mude para o modo Padrão.

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

O erro a seguir 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 amostras de código

Um dos erros a seguir ocorre ao executar 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. Verifique se esse é o caso executando 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 seu ambiente de trabalho".

A Vertex AI para Pesquisa para varejo não foi usada no projeto antes ou está desativada

O erro a seguir ocorre quando você tenta executar um tutorial:

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

Para resolver esse problema, ative a Vertex AI para Pesquisa para varejo na página 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 erro a seguir 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 a conta certa está 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 projeto do Google Cloud.

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

O erro a seguir 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. Você pode ver esse erro depois de reiniciar o Cloud Shell ou abrir uma nova janela de terminal.

Para resolver o problema:

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

    1. Para todas as linguagens, 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ão quando a conta de serviço não tem os papéis necessários

O erro a seguir 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 o ambiente de trabalho seguindo as etapas do tutorial "Preparar seu ambiente de trabalho".

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

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

Ainda há problemas

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