Puedes convertir un tema de importación en uno estándar o, a la inversa, un tema estándar en uno de importación.
Convierte un tema de importación en un tema estándar
Para convertir un tema de importación en un tema estándar, borra la configuración de transferencia. Sigue los siguientes pasos:
Console
En la Google Cloud consola, ve a la página Temas.
Haz clic en el tema de importación.
En la página de detalles del tema, haz clic en Editar.
Borra la opción Habilitar transferencia.
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.
Ejecuta el
gcloud pubsub topics updatecomando:gcloud pubsub topics update TOPIC_ID \ --clear-ingestion-data-source-settings
Reemplaza TOPIC_ID por el ID del tema.
Convierte un tema estándar en un tema de importación de Amazon Kinesis Data Streams
Para convertir un tema estándar en un tema de importación de Amazon Kinesis Data Streams, primero verifica que cumplas con todos los requisitos previos.
Console
-
En la Google Cloud consola, ve a la página Temas.
-
Haz clic en el tema que deseas convertir en un tema de importación.
-
En la página de detalles del tema, haz clic en Editar.
-
Selecciona la opción Habilitar transferencia.
-
En la fuente de transferencia, selecciona Amazon Kinesis Data Streams.
-
Ingresa los siguientes detalles:
-
ARN de transmisión de Kinesis: Es el ARN de la transmisión de datos de Kinesis que planeas transferir a Pub/Sub. El formato del ARN es el siguiente:
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}. -
ARN de consumidor de Kinesis: Es el ARN del recurso de consumidor que está registrado en la transmisión de datos de AWS Kinesis. El formato del ARN es el siguiente:
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimpstamp}. -
ARN de rol de AWS: Es el ARN del rol de AWS. El formato del ARN del rol es el siguiente:
arn:aws:iam::${Account}:role/${RoleName}. -
Cuenta de servicio: Es la cuenta de servicio que creaste.
-
-
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.
Ejecuta el
gcloud pubsub topics updatecomando con todas las marcas mencionadas en el siguiente ejemplo:gcloud pubsub topics update TOPIC_ID
--kinesis-ingestion-stream-arn KINESIS_STREAM_ARN
--kinesis-ingestion-consumer-arn KINESIS_CONSUMER_ARN
--kinesis-ingestion-role-arn KINESIS_ROLE_ARN
--kinesis-ingestion-service-account PUBSUB_SERVICE_ACCOUNTReemplaza lo siguiente:
-
TOPIC_ID es el ID o el nombre del tema. Este campo no se puede actualizar.
-
KINESIS_STREAM_ARN es el ARN de las transmisiones de datos de Kinesis que planeas transferir a Pub/Sub. El formato del ARN es el siguiente:
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}. -
KINESIS_CONSUMER_ARN es el ARN del recurso de consumidor que está registrado en las transmisiones de datos de AWS Kinesis. El formato del ARN es el siguiente:
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimpstamp}. -
KINESIS_ROLE_ARN es el ARN del rol de AWS. El formato del ARN del rol es el siguiente:
arn:aws:iam::${Account}:role/${RoleName}. -
PUBSUB_SERVICE_ACCOUNT es la cuenta de servicio que creaste.
-
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.
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 .
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++ .
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.
Para obtener más información sobre los ARN, consulta Nombres de recursos de Amazon (ARN) y los identificadores de IAM.
Convierte un tema estándar en un tema de importación de Cloud Storage
Para convertir un tema estándar en un tema de importación de Cloud Storage, primero verifica que cumplas con todos los requisitos previos.
Console
-
En la Google Cloud consola, ve a la página Temas.
-
Haz clic en el tema que deseas convertir en un tema de importación de Cloud Storage.
-
En la página de detalles del tema, haz clic en Editar.
-
Selecciona la opción Habilitar transferencia.
-
En la fuente de transferencia, selecciona Google Cloud Storage.
-
En el bucket de Cloud Storage, haz clic en Explorar.
Se abrirá la página Seleccionar bucket. Selecciona una de las siguientes opciones:
-
Selecciona un bucket existente de cualquier proyecto adecuado.
-
Haz clic en el ícono de creación y sigue las instrucciones en pantalla para crear un bucket nuevo. Después de crear el bucket, selecciónalo para el tema de importación de Cloud Storage.
-
-
Cuando especificas el bucket, Pub/Sub verifica los permisos adecuados en el bucket para la cuenta de servicio de Pub/Sub. Si hay problemas de permisos, verás un mensaje de error relacionado con los permisos.
Si tienes problemas de permisos, haz clic en Establecer permisos. Para obtener más información, consulta Otorga permisos de Cloud Storage a la cuenta de servicio de Pub/Sub.
-
En Formato de objeto, selecciona Texto, Avro o Pub/Sub Avro.
Si seleccionas Texto, puedes especificar un Delimitador con el que dividir objetos en mensajes.
Para obtener más información sobre estas opciones, consulta Formato de entrada.
- Es opcional. Puedes especificar un Tiempo mínimo de creación del objeto para tu
tema. Si se configura, solo se transferirán los objetos creados después del tiempo mínimo de creación del objeto
se transferirán.
Para obtener más información, consulta Tiempo mínimo de creación del objeto.
- Debes especificar un Patrón glob. Para transferir todos los objetos del bucket,
usa
**como patrón glob. Solo se transferirán los objetos que coincidan con el patrón determinado.Para obtener más información, consulta Compara un patrón glob.
- Mantén la configuración predeterminada.
- Haz clic en Actualizar tema.
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 evitar perder la configuración del tema de importación, asegúrate de incluirla cada vez que actualices el tema. Si omites algo fuera, Pub/Sub restablece la configuración a su valor predeterminado original.
Ejecuta el
gcloud pubsub topics updatecomando con todas las marcas mencionadas en el siguiente ejemplo:gcloud pubsub topics update TOPIC_ID \ --cloud-storage-ingestion-bucket=BUCKET_NAME\ --cloud-storage-ingestion-input-format=INPUT_FORMAT\ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER\ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME\ --cloud-storage-ingestion-match-glob=MATCH_GLOB
Reemplaza lo siguiente:
-
TOPIC_ID es el ID o el nombre del tema. Este campo no se puede actualizar.
-
BUCKET_NAME: Especifica el nombre de un bucket existente. Por ejemplo,
prod_bucket. El nombre del bucket no debe incluir el ID del proyecto. Para crear un bucket, consulta Crea buckets. -
INPUT_FORMAT: Especifica el formato de los objetos que se transfieren. Puede ser
text,avroopubsub_avro. Para obtener más información sobre estas opciones, consulta Formato de entrada. -
TEXT_DELIMITER: Especifica el delimitador con el que se dividen los objetos de texto en mensajes de Pub/Sub. Debe ser un solo carácter y solo debe establecerse cuando
INPUT_FORMATseatext. El valor predeterminado es el carácter de nueva línea (\n).Cuando uses gcloud CLI para especificar el delimitador, presta mucha atención al manejo de caracteres especiales como la nueva línea
\n. Usa el formato'\n'para asegurarte de que el delimitador se interprete correctamente. Si usas\nsin comillas ni escape, se obtiene un delimitador de"n". -
MINIMUM_OBJECT_CREATE_TIME: Especifica el tiempo mínimo en el que se creó un objeto para que se transfiera. Debe estar en UTC en el formato
YYYY-MM-DDThh:mm:ssZ. Por ejemplo,2024-10-14T08:30:30Z.Cualquier fecha, pasada o futura, desde
0001-01-01T00:00:00Zhasta9999-12-31T23:59:59Zinclusive, es válida. -
MATCH_GLOB: Especifica el patrón glob que debe coincidir para que se transfiera un objeto. Cuando usas gcloud CLI, un glob de coincidencia con caracteres
*debe tener el carácter*con formato de escape en la forma\*\*.txto todo el glob de coincidencia debe estar entre comillas"**.txt"o'**.txt'. Para obtener información sobre la sintaxis admitida para los patrones glob, consulta la documentación de Cloud Storage.
-