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 compatibles.
Roles y permisos requeridos
Si quieres obtener el permiso que
necesitas para cambiar un tipo de suscripción,
pídele a tu administrador que te otorgue el rol de IAM de
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
pubsub.subscriptions.update
permiso,
que se requiere para
cambiar un tipo de suscripción.
También puedes obtener este permiso con roles personalizados o 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 un proyecto diferente. Asegúrate de tener los permisos necesarios para cada proyecto.
Cambia el tipo de entrega de una suscripción
Para cambiar el tipo de entrega de una suscripción, sigue estos pasos.
Console
En la Google Cloud consola, 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
gcloud pubsub subscriptions update
comando. 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 de Bigtable:
--clear-bigtable-configSuscripción de 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
gcloud pubsub subscriptions updatecomando.
Ejemplos
Cambia una suscripción a BigQuery a una suscripción de extracción:
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
--clear-bigquery-config
Cambia una suscripción de envío 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 extremo, completa los siguientes pasos.
- En la Google Cloud consola, 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 Google Cloud consola, activa Cloud Shell.
En la parte inferior de la Google Cloud consola, se inicia una sesión de Cloud Shell en la que se muestra una ventana de 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
gcloud pubsub subscriptions modify-push-configcomando: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 envío 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 las configuraciones de envío de una suscripción, usa el
projects.subscriptions.modifyPushConfig
método:
Solicitud:
La solicitud debe autenticarse con un token de acceso en el
Authorization encabezado. Para 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/myhandler.Respuesta:
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 para Go (v2). Si aún usas la biblioteca v1, consulta la guía de migración a la v2. Para ver una lista de ejemplos de código de la v1, consulta los ejemplos de código obsoletos.
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 Python de Pub/Sub .
Ruby
En el siguiente ejemplo, se usa la biblioteca cliente de Pub/Sub para Ruby v3. Si aún usas la biblioteca v2, consulta la guía de migración a la v3. Para ver una lista de ejemplos de código de la v2 de Ruby, consulta los ejemplos de código obsoletos.
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
gcloudcomandos. - Crea o modifica una suscripción con las APIs de REST.