É possível converter um tópico de importação em um padrão ou, inversamente, um tópico padrão em um de importação.
Converter um tópico de importação em um tópico padrão
Para converter um tópico de importação em um padrão, desmarque as configurações de ingestão. Siga as etapas abaixo:
Console
No Google Cloud console do, acesse a página Tópicos.
Clique no tópico de importação.
Na página de detalhes do tópico, clique em Editar.
Desmarque a opção Ativar ingestão.
Clique em Atualizar.
gcloud
No Google Cloud console do, ative o Cloud Shell.
Na parte de baixo do Google Cloud console do Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
Execute o
gcloud pubsub topics updatecomando:gcloud pubsub topics update TOPIC_ID \ --clear-ingestion-data-source-settings
Substitua TOPIC_ID pelo ID do tópico.
Converter um tópico padrão em um tópico de importação do Amazon Kinesis Data Streams
Para converter um tópico padrão em um tópico de importação do Amazon Kinesis Data Streams, primeiro verifique se você atende a todos os pré-requisitos.
Console
-
No Google Cloud console do, acesse a página Tópicos.
-
Clique no tópico que você quer converter em um tópico de importação.
-
Na página de detalhes do tópico, clique em Editar.
-
Selecione a opção Ativar ingestão.
-
Para a origem da ingestão, selecione Amazon Kinesis Data Streams.
-
Digite os seguintes detalhes:
-
ARN da transmissão do Kinesis: o ARN do Kinesis Data Stream que você planeja ingerir no Pub/Sub. O formato do ARN é o seguinte:
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}. -
ARN do consumidor do Kinesis: o ARN do recurso do consumidor que está registrado no AWS Kinesis Data Stream. O formato do ARN é o seguinte:
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimpstamp}. -
ARN do papel da AWS: o ARN do papel da AWS. O formato do ARN do papel é o seguinte:
arn:aws:iam::${Account}:role/${RoleName}. -
Conta de serviço: a conta de serviço que você criou.
-
-
Clique em Atualizar.
gcloud
-
No Google Cloud console do, ative o Cloud Shell.
Na parte de baixo do Google Cloud console do Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
Execute o comando
gcloud pubsub topics updatecom todas as flags mencionadas no exemplo a seguir: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_ACCOUNTSubstitua:
-
TOPIC_ID é o ID ou nome do tópico. Não é possível atualizar este campo.
-
KINESIS_STREAM_ARN é o ARN do Kinesis Data Streams que você planeja ingerir no Pub/Sub. O formato do ARN é o seguinte:
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}. -
KINESIS_CONSUMER_ARN é o ARN do recurso do consumidor registrado no AWS Kinesis Data Streams. O formato do ARN é o seguinte:
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimpstamp}. -
KINESIS_ROLE_ARN é o ARN do papel da AWS. O formato do ARN do papel é o seguinte:
arn:aws:iam::${Account}:role/${RoleName}. -
PUBSUB_SERVICE_ACCOUNT é a conta de serviço que você criou.
-
Go
O exemplo a seguir usa a versão principal da biblioteca de cliente do Go Pub/Sub (v2). Se você ainda estiver usando a biblioteca v1, consulte o guia de migração para a v2. Para conferir uma lista de exemplos de código da v1, consulte os exemplos de código obsoletos.
Antes de tentar esse exemplo, siga as instruções de configuração do Go em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Go.
Java
Antes de tentar essa amostra, siga as instruções de configuração do Java em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub para Java (em inglês).
Node.js
Antes de tentar essa amostra, siga as instruções de configuração do Node.js em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub para Node.js (em inglês).
Python
Antes de tentar esse exemplo, siga as instruções de configuração do Python em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do Pub/Sub.
C++
Antes de tentar esse exemplo, siga as instruções de configuração do C++ em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub C++.
Node.js
Antes de tentar essa amostra, siga as instruções de configuração do Node.js em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub para Node.js (em inglês).
Para mais informações sobre ARNs, consulte Nomes de recursos da Amazon (ARNs) e identificadores do IAM.
Converter um tópico padrão em um tópico de importação do Cloud Storage
Para converter um tópico padrão em um tópico de importação do Cloud Storage, primeiro verifique se você atende a todos os pré-requisitos.
Console
-
No Google Cloud console do, acesse a página Tópicos.
-
Clique no tópico que você quer converter em um tópico de importação do Cloud Storage.
-
Na página de detalhes do tópico, clique em Editar.
-
Selecione a opção Ativar ingestão.
-
Para a origem da ingestão, selecione Google Cloud Storage.
-
Para o bucket do Cloud Storage, clique em Procurar.
A página Selecionar bucket será aberta. Selecione uma das seguintes opções:
-
Selecione um bucket atual de qualquer projeto adequado.
-
Clique no ícone de criação e siga as instruções na tela para criar um bucket. Depois de criar o bucket, selecione-o para o tópico de importação do Cloud Storage.
-
-
Ao especificar o bucket, o Pub/Sub verifica se há permissões adequadas no bucket para a conta de serviço do Pub/Sub. Se houver problemas de permissão, uma mensagem de erro relacionada às permissões será exibida.
Se você tiver problemas de permissão, clique em Definir permissões. Para mais informações, consulte Conceder permissões do Cloud Storage à conta de serviço do Pub/Sub.
-
Em Formato do objeto, selecione Texto, Avro ou Pub/Sub Avro.
Se você selecionar Texto, poderá especificar um Delimitador para dividir objetos em mensagens.
Para mais informações sobre essas opções, consulte Formato de entrada.
- Opcional. Você pode especificar um Tempo mínimo de criação de objeto para o seu
tópico. Se definido, somente os objetos criados após o tempo mínimo de criação de objeto
serão ingeridos.
Para mais informações, consulte Tempo mínimo de criação de objeto.
- É necessário especificar um padrão glob. Para ingerir todos os objetos no bucket,
use
**como o padrão glob. Somente os objetos que correspondem ao padrão fornecido são ingeridos.Para mais informações, consulte Corresponder a um padrão glob.
- Mantenha as outras configurações padrão.
- Clique em Atualizar tópico.
gcloud
-
No Google Cloud console do, ative o Cloud Shell.
Na parte de baixo do Google Cloud console do Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
Para não perder as configurações do tópico de importação, certifique-se de incluir todas elas sempre que atualizar o tópico. Se você deixar algo de fora, o Pub/Sub vai redefinir a configuração para o valor padrão original.
Execute o comando
gcloud pubsub topics updatecom todas as flags mencionadas no exemplo a seguir: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
Substitua:
-
TOPIC_ID é o ID ou nome do tópico. Não é possível atualizar este campo.
-
BUCKET_NAME: especifica o nome de um bucket atual. Por exemplo,
prod_bucket. O nome do bucket não pode incluir o ID do projeto. Para criar um bucket, consulte Criar buckets. -
INPUT_FORMAT: especifica o formato dos objetos ingeridos. Pode ser
text,avrooupubsub_avro. Para mais informações sobre essas opções, consulte Formato de entrada. -
TEXT_DELIMITER: especifica o delimitador com que os objetos de texto são divididos em mensagens do Pub/Sub. Ele precisa ser um caractere único e só pode ser definido quando
INPUT_FORMATétext. O padrão é o caractere de nova linha (\n).Ao usar a CLI gcloud para especificar o delimitador, preste atenção ao tratamento de caracteres especiais, como a nova linha
\n. Use o formato'\n'para garantir que o delimitador seja interpretado corretamente. Simplesmente usar\nsem aspas ou escape resulta em um delimitador de"n". -
MINIMUM_OBJECT_CREATE_TIME: especifica o tempo mínimo em que um objeto foi criado para que ele seja ingerido. Ele precisa estar no formato UTC
YYYY-MM-DDThh:mm:ssZ. Por exemplo,2024-10-14T08:30:30Z.Qualquer data, passada ou futura, de
0001-01-01T00:00:00Za9999-12-31T23:59:59Z, inclusive, é válida. -
MATCH_GLOB: especifica o padrão glob a ser correspondido em ordem para que um objeto seja ingerido. Ao usar a CLI gcloud, um glob de correspondência com
*caracteres precisa ter o*caractere formatado como escape na forma\*\*.txtou o glob de correspondência inteiro precisa estar entre aspas"**.txt"ou'**.txt'. Para informações sobre a sintaxe com suporte para padrões glob, consulte a documentação do Cloud Storage.
-