Soluciona problemas

Seguimiento de problemas de GRPC

Antes de comenzar

Asegúrate de inicializar y habilitar los permisos de escritura antes de escribir en el archivo de registro. En el siguiente ejemplo, el archivo de registro se llama /var/log/grpc.log:

touch /var/log/grpc.log
chmod 666 /var/log/grpc.log

Si tienes problemas de permisos de archivos, es posible que debas anteponer sudo a los comandos anteriores.

Accede a un archivo

Para guardar los registros de gRPC en un archivo, agrega las siguientes líneas al archivo php.ini:

grpc.grpc_verbosity=debug
grpc.grpc_trace=all,-timer_check
grpc.log_filename=/var/log/grpc.log

Para escribir registros en stderr, excluye la última línea del ejemplo anterior. Para obtener más información sobre otras opciones, consulta Variables de entorno de gRPC.

Detalles del error

Los servicios de Google Cloud siguen los lineamientos AIP-193 cuando muestran errores. Los servicios de Google Cloud usan un conjunto definido de cargas útiles de error estándar, que puedes encontrar en google.rpc.error_details.proto. Cubren los errores de API más comunes, como las fallas de cuota y los parámetros no válidos.

Los errores de API que emiten las bibliotecas cliente de PHP incluyen los campos message, code, status y details. Dentro del campo details, aparecen datos adicionales de google.rpc.ErrorInfo en los campos reason, domain y metadata. En el siguiente ejemplo, se muestra un error que puede aparecer si llamaste a la biblioteca de Translation con un proyecto de la nube antes de habilitar la API de Translate:

Google\ApiCore\ApiException: {
    "reason": "SERVICE_DISABLED",
    "domain": "googleapis.com",
    "errorInfoMetadata": {
        "consumer": "projects\PROJECT_ID",
        "service": "translate.googleapis.com"
    },
    "message": "Cloud Translation API has not been used in project PROJECT_ID before or it is disabled. Enable it by visiting https:\/\/console.developers.google.com\/apis\/api\/translate.googleapis.com\/overview?project=PROJECT_ID then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
    "code": 7,
    "status": "PERMISSION_DENIED",
    "details": [
        {
            "@type": "google.rpc.errorinfo-bin",
            "reason": "SERVICE_DISABLED",
            "domain": "googleapis.com",
            "metadata": {
                "consumer": "projects\PROJECT_ID",
                "service": "translate.googleapis.com"
            }
        },
        {
            "@type": "google.rpc.help-bin",
            "links": [
                {
                    "description": "Google developers console API activation",
                    "url": "https:\/\/console.developers.google.com\/apis\/api\/translate.googleapis.com\/overview?project=PROJECT_ID"
                }
            ]
        }
    ]
}

Para obtener más información sobre el modelo de errores general de las API de Google, consulta Errores de la API de Cloud.