Este modelo cria um pipeline em lote que lê registos de ficheiros de texto armazenados no Cloud Storage e publica-os num tópico do Pub/Sub. Pode usar o modelo para publicar registos num ficheiro delimitado por novas linhas que contenha registos JSON ou num ficheiro CSV num tópico do Pub/Sub para processamento em tempo real. Pode usar este modelo para repetir dados no Pub/Sub.
Este modelo não define nenhuma data/hora nos registos individuais. A hora do evento é igual à hora de publicação durante a execução. Se o seu pipeline depender de uma hora do evento precisa para o processamento, não deve usar este pipeline.
Requisitos do pipeline
- Os ficheiros a ler têm de estar no formato JSON ou CSV delimitado por newline. Os registos que abrangem várias linhas nos ficheiros de origem podem causar problemas a jusante, uma vez que cada linha nos ficheiros é publicada como uma mensagem no Pub/Sub.
- O tópico Pub/Sub tem de existir antes de executar o pipeline.
Parâmetros de modelos
Parâmetros obrigatórios
- inputFilePattern: o padrão do ficheiro de entrada a partir do qual ler. Por exemplo,
gs://bucket-name/files/*.json
. - outputTopic: o tópico de entrada do Pub/Sub para o qual escrever. O nome tem de estar no formato
projects/<PROJECT_ID>/topics/<TOPIC_NAME>
. Por exemplo,projects/your-project-id/topics/your-topic-name
.
Execute o modelo
Consola
- Aceda à página do fluxo de dados Criar tarefa a partir de um modelo. Aceda a Criar tarefa a partir de modelo
- No campo Nome da tarefa, introduza um nome exclusivo para a tarefa.
- Opcional: para Ponto final regional, selecione um valor no menu pendente. A região
predefinida é
us-central1
.Para ver uma lista das regiões onde pode executar uma tarefa do Dataflow, consulte as localizações do Dataflow.
- No menu pendente Modelo do fluxo de dados, selecione the Text Files on Cloud Storage to Pub/Sub (Batch) template.
- Nos campos de parâmetros fornecidos, introduza os valores dos parâmetros.
- Clique em Executar tarefa.
gcloud
Na shell ou no terminal, execute o modelo:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/GCS_Text_to_Cloud_PubSub \ --region REGION_NAME \ --parameters \ inputFilePattern=gs://BUCKET_NAME/files/*.json,\ outputTopic=projects/PROJECT_ID/topics/TOPIC_NAME
Substitua o seguinte:
PROJECT_ID
: o ID do projeto onde quer executar a tarefa do Dataflow Google CloudJOB_NAME
: um nome de tarefa exclusivo à sua escolhaVERSION
: a versão do modelo que quer usarPode usar os seguintes valores:
latest
para usar a versão mais recente do modelo, que está disponível na pasta principal sem data no contentor: gs://dataflow-templates-REGION_NAME/latest/- o nome da versão, como
2023-09-12-00_RC00
, para usar uma versão específica do modelo, que pode ser encontrada aninhada na pasta principal com a data correspondente no contentor: gs://dataflow-templates-REGION_NAME/
REGION_NAME
: a região onde quer implementar a tarefa do Dataflow, por exemplo,us-central1
TOPIC_NAME
: o nome do seu tópico do Pub/SubBUCKET_NAME
: o nome do seu contentor do Cloud Storage
API
Para executar o modelo através da API REST, envie um pedido HTTP POST. Para mais informações sobre a API e os respetivos âmbitos de autorização, consulte projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/GCS_Text_to_Cloud_PubSub { "jobName": "JOB_NAME", "parameters": { "inputFilePattern": "gs://BUCKET_NAME/files/*.json", "outputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME" }, "environment": { "zone": "us-central1-f" } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto onde quer executar a tarefa do Dataflow Google CloudJOB_NAME
: um nome de tarefa exclusivo à sua escolhaVERSION
: a versão do modelo que quer usarPode usar os seguintes valores:
latest
para usar a versão mais recente do modelo, que está disponível na pasta principal sem data no contentor: gs://dataflow-templates-REGION_NAME/latest/- o nome da versão, como
2023-09-12-00_RC00
, para usar uma versão específica do modelo, que pode ser encontrada aninhada na pasta principal com a data correspondente no contentor: gs://dataflow-templates-REGION_NAME/
LOCATION
: a região onde quer implementar a tarefa do Dataflow, por exemplo,us-central1
TOPIC_NAME
: o nome do seu tópico do Pub/SubBUCKET_NAME
: o nome do seu contentor do Cloud Storage
O que se segue?
- Saiba mais sobre os modelos do Dataflow.
- Consulte a lista de modelos fornecidos pela Google.