Modelo de texto do Cloud Storage para o Datastore [Descontinuado]

Este modelo foi descontinuado e vai ser removido no 3.º trimestre de 2023. Migre para o modelo Texto do Cloud Storage para o Firestore.

O modelo de texto do Cloud Storage para o Datastore é um pipeline em lote que lê a partir de ficheiros de texto armazenados no Cloud Storage e escreve entidades codificadas em JSON no Datastore. Cada linha nos ficheiros de texto de entrada tem de estar no formato JSON especificado.

Requisitos do pipeline

  • O Datastore tem de estar ativado no projeto de destino.

Parâmetros de modelos

Parâmetros obrigatórios

  • textReadPattern: um padrão de caminho do Cloud Storage que especifica a localização dos seus ficheiros de dados de texto. Por exemplo, gs://mybucket/somepath/*.json.
  • datastoreWriteProjectId: o ID do projeto do Google Cloud no qual escrever as entidades do Armazenamento de dados.
  • errorWritePath: o ficheiro de saída do registo de erros a usar para falhas de escrita que ocorrem durante o processamento. Por exemplo, gs://your-bucket/errors/.

Parâmetros opcionais

  • javascriptTextTransformGcsPath: o URI do Cloud Storage do ficheiro .js que define a função definida pelo utilizador (FDU) JavaScript a usar. Por exemplo, gs://my-bucket/my-udfs/my_file.js.
  • javascriptTextTransformFunctionName: o nome da função definida pelo utilizador (FDU) JavaScript a usar. Por exemplo, se o código da função JavaScript for myTransform(inJson) { /*...do stuff...*/ }, o nome da função é myTransform. Para ver exemplos de UDFs JavaScript, consulte Exemplos de UDFs (https://github.com/GoogleCloudPlatform/DataflowTemplates#udf-examples).
  • datastoreHintNumWorkers: sugestão para o número esperado de trabalhadores no passo de limitação do Datastore. A predefinição é 500.

Execute o modelo

Consola

  1. Aceda à página do fluxo de dados Criar tarefa a partir de um modelo.
  2. Aceda a Criar tarefa a partir de modelo
  3. No campo Nome da tarefa, introduza um nome exclusivo para a tarefa.
  4. 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.

  5. No menu pendente Modelo do fluxo de dados, selecione the Text Files on Cloud Storage to Datastore template.
  6. Nos campos de parâmetros fornecidos, introduza os valores dos parâmetros.
  7. 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_Datastore \
    --region REGION_NAME \
    --parameters \
textReadPattern=PATH_TO_INPUT_TEXT_FILES,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
datastoreWriteProjectId=PROJECT_ID,\
errorWritePath=ERROR_FILE_WRITE_PATH

Substitua o seguinte:

  • JOB_NAME: um nome de tarefa exclusivo à sua escolha
  • VERSION: a versão do modelo que quer usar

    Pode usar os seguintes valores:

  • REGION_NAME: a região onde quer implementar a tarefa do Dataflow, por exemplo, us-central1
  • PATH_TO_INPUT_TEXT_FILES: o padrão dos ficheiros de entrada no Cloud Storage
  • JAVASCRIPT_FUNCTION: o nome da função definida pelo utilizador (FDU) JavaScript que quer usar

    Por exemplo, se o código da função JavaScript for myTransform(inJson) { /*...do stuff...*/ }, o nome da função é myTransform. Para ver exemplos de UDFs JavaScript, consulte os exemplos de UDFs.

  • PATH_TO_JAVASCRIPT_UDF_FILE: o URI do Cloud Storage do ficheiro .js que define a função definida pelo utilizador (FDU) JavaScript que quer usar, por exemplo, gs://my-bucket/my-udfs/my_file.js
  • ERROR_FILE_WRITE_PATH: o caminho pretendido para o ficheiro de erros no 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_Datastore
{
   "jobName": "JOB_NAME",
   "parameters": {
       "textReadPattern": "PATH_TO_INPUT_TEXT_FILES",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "datastoreWriteProjectId": "PROJECT_ID",
       "errorWritePath": "ERROR_FILE_WRITE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto onde quer executar a tarefa do Dataflow Google Cloud
  • JOB_NAME: um nome de tarefa exclusivo à sua escolha
  • VERSION: a versão do modelo que quer usar

    Pode usar os seguintes valores:

  • LOCATION: a região onde quer implementar a tarefa do Dataflow, por exemplo, us-central1
  • PATH_TO_INPUT_TEXT_FILES: o padrão dos ficheiros de entrada no Cloud Storage
  • JAVASCRIPT_FUNCTION: o nome da função definida pelo utilizador (FDU) JavaScript que quer usar

    Por exemplo, se o código da função JavaScript for myTransform(inJson) { /*...do stuff...*/ }, o nome da função é myTransform. Para ver exemplos de UDFs JavaScript, consulte os exemplos de UDFs.

  • PATH_TO_JAVASCRIPT_UDF_FILE: o URI do Cloud Storage do ficheiro .js que define a função definida pelo utilizador (FDU) JavaScript que quer usar, por exemplo, gs://my-bucket/my-udfs/my_file.js
  • ERROR_FILE_WRITE_PATH: o caminho pretendido para o ficheiro de erros no Cloud Storage

O que se segue?