É possível converter um tema de importação em um padrão ou vice-versa.
Converter um tópico de importação em um padrão
Para converter um tópico de importação em um padrão, limpe as configurações de transferência. Siga as etapas abaixo:
Console
No console do Google Cloud, 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 transferência.
Clique em Atualizar.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Execute o comando
gcloud pubsub topics update
: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 console do Google Cloud, acesse a página Tópicos.
-
Clique no tópico que você quer converter em um tema importado.
-
Na página de detalhes do tópico, clique em Editar.
-
Selecione a opção Ativar transferência.
-
Em "Origem de transferência", selecione Amazon Kinesis Data Streams.
-
Digite os seguintes detalhes:
-
ARN do Kinesis Stream: o ARN do Kinesis Data Stream que você planeja ingerir no Pub/Sub. O formato ARN é o seguinte:
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}
. -
ARN do consumidor do Kinesis: o ARN do recurso do consumidor registrado no fluxo de dados do AWS Kinesis. 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 ARN do papel é o seguinte:
arn:aws:iam:${Account}:role/${RoleName}
. -
Conta de serviço: a conta de serviço que você criou em Criar uma conta de serviço no Google Cloud.
-
-
Clique em Atualizar.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Execute o comando
gcloud pubsub topics update
com todas as flags mencionadas no exemplo abaixo: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_ACCOUNT
Substitua:
-
TOPIC_ID é o ID ou nome do tópico. Não é possível atualizar este campo.
-
KINESIS_STREAM_ARN é o ARN dos fluxos de dados do Kinesis 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 de 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 ARN da função é o seguinte:
arn:aws:iam:${Account}:role/${RoleName}
. -
PUBSUB_SERVICE_ACCOUNT é a conta de serviço que você criou em Criar uma conta de serviço no Google Cloud.
-
Go
Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido do Pub/Sub: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Go.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do Pub/Sub: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Java.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Pub/Sub: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Node.js.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do Pub/Sub: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Python.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C++
Antes de testar esta amostra, siga as instruções de configuração do C++ no Guia de início rápido do Pub/Sub: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub C++.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js (TypeScript)
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido do Pub/Sub: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Node.js.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, verifique se você atende a todos os pré-requisitos.
Console
-
No console do Google Cloud, acesse a página Tópicos.
-
Clique no tema que você quer converter em um tema de importação do Cloud Storage.
-
Na página de detalhes do tópico, clique em Editar.
-
Selecione a opção Ativar transferência.
-
Em "Origem de transferência", selecione Google Cloud Storage.
-
No bucket do Cloud Storage, clique em Procurar.
A página Selecionar bucket é aberta. Selecione uma das seguintes opções:
-
Selecione um bucket de qualquer projeto apropriado.
-
Clique no ícone de criação e siga as instruções na tela para criar um novo bucket. Depois de criar o bucket, selecione-o para o tópico de importação do Cloud Storage.
-
-
Quando você especifica o bucket, o Pub/Sub verifica as 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 vai aparecer.
Se você tiver problemas de permissão, clique em Definir permissões. Para mais informações, consulte Concessão de 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. É possível especificar uma Hora mínima de criação de objeto para o
tópico. Se definido, apenas os objetos criados após o tempo mínimo de criação de objetos
serão processados.
Para mais informações, consulte Tempo mínimo de criação de objetos.
- É necessário especificar um padrão Glob. Para ingerir todos os objetos no bucket,
use
**
como o padrão glob. Somente objetos que correspondem ao padrão fornecido são ingeridos.Para mais informações, consulte Corresponder a um padrão de glob.
- Mantenha as outras configurações padrão.
- Clique em Atualizar tópico.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Para evitar a perda das configurações do tópico de importação, inclua 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 update
com todas as flags mencionadas no exemplo abaixo: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 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 que são ingeridos. Os valores podem ser
text
,avro
oupubsub_avro
. Para mais informações sobre essas opções, consulte Formato de entrada. -
TEXT_DELIMITER: especifica o delimitador para dividir objetos de texto em mensagens do Pub/Sub. Ele precisa ser um único caractere e só pode ser definido quando
INPUT_FORMAT
fortext
. O padrão é o caractere de nova linha (\n
).Ao usar a CLI gcloud para especificar o delimitador, preste atenção ao processamento de caracteres especiais, como o
\n
de nova linha. Use o formato'\n'
para garantir que o delimitador seja interpretado corretamente. Basta usar\n
sem aspas ou escapar dos resultados em um delimitador de"n"
. -
MINIMUM_OBJECT_CREATE_TIME: especifica o tempo mínimo em que um objeto foi criado para ser transferido. 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:00Z
a9999-12-31T23:59:59Z
, é válida. -
MATCH_GLOB: especifica o padrão de glob a ser correspondido 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 no formulário\*\*.txt
ou 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.
-