Crea y borra servicios administrados

En esta página, se describe cómo administrar el ciclo de vida de los servicios administrados mediante el uso de la API de Service Management.

El ciclo de vida estándar de un servicio administrado puede incluir las siguientes acciones:

  • Usar el método services.create para crear un servicio administrado. Una vez que se crea el servicio administrado, puedes aprender a usar la API con la configuración del servicio y los lanzamientos en las guías correspondientes.
  • Usar el método services.delete para descartar un servicio administrado del cual eres propietario. La Administración de servicios borra de forma no definitiva el servicio administrado y lo conserva durante 30 días.
  • Usar el método services.undelete para revivir un servicio administrado eliminado dentro del período de retención de 30 días.

Antes de comenzar

Para ejecutar los ejemplos en esta guía, asegúrate de seguir primero las instrucciones para completar la configuración inicial en Comienza a usar la API de Service Management.

Crea un servicio administrado

Puede crear un servicio administrado mediante el método services.create. Debes especificar un nombre de servicio compatible con DNS y un nombre de dominio verificado. Para obtener información sobre cómo cumplir estos requisitos, consulta Configura Endpoints.

El siguiente fragmento de código crea un servicio con el nombre endpointsapis.appspot.com en el proyecto endpointsapis:

# Create managed service `endpointsapis.appspot.com`
# in the project `endpointsapis`.
$ gcurl -d '{
  "serviceName": "endpointsapis.appspot.com",
  "producerProjectId": "endpointsapis"
}' https://servicemanagement.googleapis.com/v1/services
{
  "name": "operations/services.endpointsapis.appspot.com-0",
  "metadata": {
    "@type":     "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata",
    "resourceNames": [
      "/services/endpointsapis.appspot.com"
    ],
    "startTime": ...
    "persisted": true
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.api.servicemanagement.v1.ManagedService",
    "serviceName": "endpointsapis.appspot.com",
    "producerProjectId": "endpointsapis",
    ...
  }
}

El método services.create muestra un recurso de operación de larga duración que puede sondear para obtener el estado de la operación mediante el método operations.get hasta que se complete. Para conocer cómo hacerlo, consulta Sondea operaciones de larga duración.

Obtén servicios

Puede enumerar servicios o recuperar un servicio administrado específico mediante los métodos services.list o services.get:

# List services owned by the project `endpointsapis`.
$ gcurl https://servicemanagement.googleapis.com/v1/services?producerProjectId=endpointsapis
{
  "services": [
    {
      "serviceName": "endpointsapis.appspot.com",
      "producerProjectId": "endpointsapis"
    }
    ....
  ]
}

# Get a specified service.
$ gcurl https://servicemanagement.googleapis.com/v1/services/endpointsapis.appspot.com
{
  "serviceName": "endpointsapis.appspot.com",
  "producerProjectId": "endpointsapis"
}

Borra un servicio administrado

El método services.delete le permite solicitar que se elimine un servicio administrado:

# Delete the managed service `endpointsapis.appspot.com`.
$ gcurl -X DELETE https://servicemanagement.googleapis.com/v1/services/endpointsapis.appspot.com
{
  "name": "operations/services.endpointsapis.appspot.com-1",
  "metadata": {
    "@type":     "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata",
    "resourceNames": [
      "/services/endpointsapis.appspot.com"
    ],
    "startTime": ...
    "persisted": true
  },
  "response": {
  }
}

El método services.delete muestra un recurso de operación de larga duración que puede sondear para ver el estado de la operación mediante el método operations.get hasta que se complete. Para conocer cómo hacerlo, consulta Sondea operaciones de larga duración.

Si se llama al método services.delete, *no* se borra de forma inmediata ni permanente el servicio administrado. El servicio administrado se inhabilita durante 30 días, después de lo cual se borra permanentemente.

Recupera un servicio administrado

El método services.undelete le permite revivir un servicio administrado previamente eliminado. Puedes utilizar este método para restablecer los servicios administrados dentro de los 30 días posteriores a la eliminación. En el siguiente fragmento de código se recupera el servicio administrado especificado:

# Undelete the managed service `endpointsapis.appspot.com`.
$ gcurl -d '{}' https://servicemanagement.googleapis.com/v1/services/endpointsapis.appspot.com:undelete
{
  "name": "operations/services.endpointsapis.appspot.com-2",
  "metadata": {
    "@type":     "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata",
    "resourceNames": [
      "/services/endpointsapis.appspot.com"
    ],
    "startTime": ...
    "persisted": true
  },
  "response": {
    "@type": "type.googleapis.com/google.api.servicemanagement.v1.ManagedService",
    "serviceName": "endpointsapis.appspot.com",
    "producerProjectId": "endpointsapis",
    ...
  }
}

El método services.undelete muestra un recurso de operación de larga duración que puede sondear para ver el estado de la operación mediante el método operations.get hasta que se complete. Para conocer cómo hacerlo, consulta Sondea operaciones de larga duración.