Soluciona problemas de instructivos

Si tienes problemas para configurar el instructivo, en esta página se enumeran los problemas que puedes encontrar y se proporcionan sugerencias para solucionarlos.

Falta la carpeta cloudshell_open

Si no puedes ver la carpeta cloudshell_open en tu directorio principal cuando ejecutas ls ~, significa que la carpeta y sus archivos se perdieron. Este problema ocurre cuando usas Cloud Shell en modo efímero y pierdes la conexión a Internet o actualizas la página. Para resolver este problema, vuelve a ejecutar el instructivo desde el principio. Para evitar la pérdida de tus archivos en el futuro, considera cambiar al modo predeterminado.

No se puede detectar un ID del proyecto en el entorno actual

El siguiente error ocurre cuando intentas ejecutar una muestra de código:

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

Este problema se produce cuando no se configura tu proyecto de Google Cloud. Para resolver este problema, ejecuta el siguiente comando para configurar el proyecto:

gcloud config set project <YOUR-PROJECT-ID>

Se producen errores de key.json cuando se ejecutan muestras de código.

Uno de los siguientes errores ocurre cuando ejecutas muestras 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

Este problema se produce cuando el archivo key.json, que se usa para autenticar una cuenta de servicio, está vacío o falta. Para verificar si ese es el caso, ejecuta el siguiente comando:

cat ~/key.json

De esta manera, se imprime el contenido del archivo o el mensaje No such file or directory. Un archivo vacío significa que el error se produjo durante la creación de la clave. Si falta un archivo, significa que el error se produjo antes. Para resolver este problema, sigue el paso del instructivo "Prepara tu entorno de trabajo".

Vertex AI Search for Retail no se usó en el proyecto antes o está inhabilitada

El siguiente error ocurre cuando intentas ejecutar un instructivo:

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

Para resolver este problema, habilita Vertex AI Search for Retail en la página Detalles de la API o los servicios de la consola de Google Cloud o ejecuta el siguiente comando:

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

La cuenta de servicio no tiene permiso para acceder a la instancia del proyecto

Se produce el siguiente error cuando asignas roles a la cuenta de servicio:

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

Para resolver este problema, ejecuta el comando gcloud auth list en la Terminal para verificar que tengas la cuenta correcta activa. Asegúrate de que la cuenta activa sea la cuenta de servicio. Ve a la página IAM de la consola de Google Cloud para verificar que la cuenta de servicio sea propietaria de tu proyecto de Google Cloud.

Autenticación no válida con credenciales de usuario final

El siguiente error ocurre cuando ejecutas muestras 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.

Este problema ocurre cuando se usan credenciales de usuario final en lugar de una cuenta de servicio. Este problema también puede ocurrir cuando una cuenta de servicio no está activa o cuando no se configuran las variables de entorno necesarias. Es posible que veas este error después de reiniciar Cloud Shell o abrir una nueva ventana de Terminal.

Para solucionar este problema, sigue estos pasos:

  1. Sigue los pasos del instructivo "Prepara tu entorno de trabajo" y asegúrate de tener una cuenta de servicio activa ejecutando gcloud auth list.
  2. Configura las variables de entorno:

    1. Para todos los idiomas, ejecuta el siguiente comando:
    export GOOGLE_APPLICATION_CREDENTIALS=~/key.json
    
    1. Además, para .NET, ejecuta el siguiente comando:
    export GOOGLE_PROJECT_ID=<YOUR-PROJECT-ID>
    

Error de permisos cuando la cuenta de servicio no tiene los roles necesarios

El siguiente error ocurre cuando ejecutas muestras 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"

Este problema ocurre cuando tu cuenta de servicio no tiene los roles requeridos: editor y retail.admin. Para resolver este problema, configura tu entorno de trabajo siguiendo los pasos del instructivo "Prepara tu entorno de trabajo".

La operación de búsqueda no mostró ningún resultado que coincida

Este problema ocurre cuando no hay productos en el catálogo que coincidan con tu búsqueda o cuando el catálogo está vacío. Para resolver este problema, verifica si tienes productos en tu catálogo en la página Catálogo de la consola de Google Cloud. De lo contrario, sigue el paso del instructivo "Importa datos de catálogo" para importar los datos.

Aún hay problemas

Intenta restablecer Cloud Shell y ejecuta los instructivos desde el principio.