Comienza a usar la API de Control de servicios

En esta página, se describen los pasos básicos necesarios para configurar la API de Control de servicios en tu máquina local y probarla con el comando curl.

Configuración inicial

La API de Control de servicios funciona con servicios administrados. Para usar la API de Control de servicios, primero debes crear un servicio administrado con la API de Service Management. Para obtener más información, consulta, Primeros pasos con Service Management.

Una vez que hayas creado un servicio administrado, debes completar los siguientes pasos para poder usar la API de Control de servicios de tu servicio administrado.

  1. Visita Google Cloud Platform Console y selecciona el proyecto al que pertenece tu servicio administrado.
  2. En Google Cloud Platform Console, habilita la API de Control de servicios para el proyecto.
  3. Crea una cuenta de servicio nueva para las pruebas locales y descarga el archivo de credenciales JSON en tu máquina local. En los siguientes ejemplos, se supone que la ruta del archivo es ~/credentials.json.
  4. Otorga la función roles/servicemanagement.serviceController a la cuenta de servicio recién creada. Consulta Control de acceso para obtener más información.
  5. Instala oauth2l en tu máquina local para interactuar con el sistema Google OAuth.

Realiza pruebas con curl

  1. Verifica primero la configuración inicial:
oauth2l header --json ~/credentials.json cloud-platform
  1. Si la configuración inicial es correcta, deberías ver un resultado similar al que figura a continuación:

    Authorization: Bearer y29.xxxxxxx
    
  2. Define un alias de shell conveniente para llamar a las API de REST de Google:

alias gcurl='curl -H "$(oauth2l header --json ~/credentials.json cloud-platform userinfo.email)" -H "Content-Type: application/json" '

En la siguiente secuencia de comandos de shell, se muestran los pasos incrementales para llamar a la API de Control de servicios.

# Call with invalid service name "invalid.com". For security and privacy
# reasons, the permission check typically happens before other checks.
$ gcurl -d '{}' https://servicecontrol.googleapis.com/v1/services/invalid.com:check
{
  "error": {
    "code": 403,
    "message": "Permission 'servicemanagement.services.check' denied on service 'invalid.com'.",
    "status": "PERMISSION_DENIED"
  }
}

# Call without proper permission on a service.
$ gcurl -d '{}' https://servicecontrol.googleapis.com/v1/services/servicecontrol.googleapis.com:check
{
  "error": {
    "code": 403,
    "message": "Permission 'servicemanagement.services.check' denied on service 'servicecontrol.googleapis.com'.",
    "status": "PERMISSION_DENIED"
  }
}

# Call with invalid request.
$ gcurl -d '{}' https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:check
{
  "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT"
  }
}

# This and following call assume that the service, operation name and
# project being checked are "endpointsapis.appspot.com",
# "google.example.hello.v1.HelloService.GetHello" and
# "endpointsapis-consumer" correspondingly.
# Change to the name of your managed service, operation, and project.
# Call with invalid request.
$ gcurl -d '{
  "operation": {
    "operationId": "123e4567-e89b-12d3-a456-426655440000",
    "consumerId": "project:endpointsapis-consumer",
    "startTime": "2016-06-12T22:00:15Z",
    "operationName": "google.example.hello.v1.HelloService.GetHello"
  }
}' https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:check
{
  "checkErrors": [
  {
    "code": "SERVICE_NOT_ACTIVATED",
    "detail": "Service 'endpointsapis.appspot.com' is not enabled for consumer 'project:endpointsapis-consumer'."
  }
  ]
}

# Successful call to "services.check" method after the API is enabled for
# the project.
$ gcurl -d '{
  "operation": {
    "operationId": "123e4567-e89b-12d3-a456-426655440000",
    "consumerId": "project:endpointsapis-consumer",
    "startTime":"2016-07-31T05:20:00Z",
    "operationName":"google.example.hello.v1.HelloService.GetHello"
  }
}' https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:check
{
  "operationId": "123e4567-e89b-12d3-a456-426655440000"
}

Una vez que hayas completado los pasos anteriores:

  • Tendrás una configuración de prueba local funcional que puedes utilizar para llamar a cualquier API de Google Cloud Platform.
  • Tendrás un servicio funcional que puedes utilizar con la API de Service Management y la API de Control de servicios.
  • Tendrás una cuenta de servicio con los permisos correctos que puedes utilizar para ejecutar tu servicio.
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Service Infrastructure