Después de crear una suscripción, puedes cambiar el método de entrega a envío, extracción o exportación.
Antes de comenzar
- Crea una de las suscripciones admitidas.
Roles y permisos requeridos
Para obtener el permiso que necesitas
para cambiar el tipo de suscripción,
pídele a tu administrador que te otorgue el rol de IAM
Editor de Pub/Sub (roles/pubsub.editor)
en la suscripción.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el permiso , que se requiere para cambiar un tipo de suscripción.
pubsub.subscriptions.update
También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Puedes configurar el control de acceso a nivel de proyecto y a nivel de los recursos individuales. Puedes crear una suscripción en un proyecto y adjuntarla a un tema ubicado en otro proyecto. Asegúrate de tener los permisos necesarios para cada proyecto.
Cómo cambiar el tipo de entrega de una suscripción
Para cambiar el tipo de entrega de una suscripción, sigue estos pasos.
Console
En la consola de Google Cloud , ve a la página Suscripciones.
Haz clic en el nombre de la suscripción que deseas actualizar.
En la página de detalles de la suscripción, haz clic en Editar.
En Tipo de entrega, selecciona el nuevo tipo de entrega.
Completa las propiedades del nuevo tipo de suscripción. Para obtener más información, consulta los siguientes temas:
Es opcional. Actualiza otras propiedades de la suscripción según sea necesario.
Haz clic en Actualizar.
gcloud
Para cambiar el tipo de entrega, usa el comando gcloud pubsub subscriptions update. Borra la configuración del tipo de entrega actual y establece la configuración del nuevo tipo de la siguiente manera:
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
CLEAR_CONFIG_FLAG \
NEW_CONFIG_FLAGS
Reemplaza lo siguiente:
SUBSCRIPTION_ID: Es el nombre de la suscripción que se actualizará.
CLEAR_CONFIG_FLAG: Es una marca para borrar la configuración existente del tipo de entrega. Usa una de las siguientes marcas, según el tipo de entrega actual:
Suscripción de extracción:
--no-enable-exactly-once-deliverySuscripción de envío:
--push-endpoint=""Suscripción a BigQuery:
--clear-bigquery-configSuscripción a Cloud Storage:
--clear-cloud-storage-config
NEW_CONFIG_FLAGS: Son marcas para configurar el nuevo tipo de entrega. Para obtener más información, consulta la documentación del comando
gcloud pubsub subscriptions update.
Ejemplos
Cambia una suscripción a BigQuery por una suscripción de extracción:
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
--clear-bigquery-config
Cambia una suscripción push a una suscripción a BigQuery:
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
--push-endpoint="" \
--bigquery-table=BIGQUERY_TABLE
Actualiza un extremo de suscripción de envío
Para actualizar la URL del extremo en una suscripción de envío, sigue estos pasos.
Console
Para modificar la URL del endpoint, completa los siguientes pasos.
- En la consola de Google Cloud , ve a la página Suscripciones.
- Haz clic en more_vert junto a la suscripción que deseas actualizar.
- En Tipo de entrega, elige una opción de entrega.
- Completa otras propiedades de la suscripción según sea necesario.
- Haz clic en Actualizar.
gcloud
-
En la consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell que muestra una ventana emergente con una línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
-
Para modificar la URL del extremo, ejecuta el comando
gcloud pubsub subscriptions modify-push-config:gcloud pubsub subscriptions modify-push-config SUBSCRIPTION_ID \ --push-endpoint=PUSH_ENDPOINT
Si la suscripción ya utiliza la entrega de extracción, establecer el extremo de inserción cambia el método de entrega para enviar la entrega.
Puedes cambiar de la entrega push a la entrega push si cambias el extremo push a una string vacía.
REST
Para modificar la configuración de envío de una suscripción, usa el método projects.subscriptions.modifyPushConfig:
Solicitud:
La solicitud debe autenticarse con un token de acceso en el encabezado Authorization. A fin de obtener un token de acceso para las credenciales predeterminadas actuales de la aplicación, usa el siguiente comando: gcloud auth application-default print-access-token.
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:modifyPushConfig Authorization: Bearer ACCESS_TOKEN
Cuerpo de la solicitud:
{
"pushConfig": {
"pushEndpoint": "PUSH_ENDPOINT"
}
}Aquí:
https://myproject.appspot.com/myhandlerRespuesta:
Si la solicitud es correcta, la respuesta es un objeto JSON vacío.
C++
Antes de probar esta muestra, sigue las instrucciones de configuración de C++ en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C++.
C#
Antes de probar esta muestra, sigue las instrucciones de configuración de C# en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C#.
Go
En el siguiente ejemplo, se usa la versión principal de la biblioteca cliente de Pub/Sub de Go (v2). Si aún usas la biblioteca de la versión 1, consulta la guía de migración a la versión 2. Para ver una lista de muestras de código de la versión 1, consulta las muestras de código obsoletas.
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Go.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Java.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
Node.ts
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Python.
Ruby
En el siguiente ejemplo, se usa la versión 3 de la biblioteca cliente de Pub/Sub de Ruby. Si aún usas la biblioteca de la versión 2, consulta la guía de migración a la versión 3. Para ver una lista de muestras de código de Ruby v2, consulta las muestras de código obsoletas.
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Ruby.
¿Qué sigue?
- Crea o modifica una suscripción con comandos
gcloud. - Crea o modifica una suscripción con APIs de REST.