Este modelo foi descontinuado e vai ser removido no 3.º trimestre de 2023. Migre para o modelo Firestore para texto do Cloud Storage.
O modelo de texto do Datastore para o Cloud Storage é um pipeline em lote que lê entidades do Datastore e as escreve no Cloud Storage como ficheiros de texto. Pode fornecer uma função para processar cada entidade como uma string JSON. Se não fornecer essa função, cada linha no ficheiro de saída será uma entidade serializada em JSON.
Requisitos do pipeline
O Datastore tem de ser configurado no projeto antes de executar o pipeline.
Parâmetros de modelos
Parâmetros obrigatórios
- datastoreReadGqlQuery: uma consulta GQL (https://cloud.google.com/datastore/docs/reference/gql_reference) que especifica que entidades obter. Por exemplo,
SELECT * FROM MyKind
. - datastoreReadProjectId: o ID do projeto do Google Cloud que contém a instância do Datastore a partir da qual quer ler dados.
- textWritePrefix: o prefixo do caminho do Cloud Storage que especifica onde os dados são escritos. Por exemplo,
gs://mybucket/somefolder/
.
Parâmetros opcionais
- datastoreReadNamespace: o espaço de nomes das entidades pedidas. Para usar o espaço de nomes predefinido, deixe este parâmetro em branco.
- 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).
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 Datastore to Text Files on Cloud Storage 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/Datastore_to_GCS_Text \ --region REGION_NAME \ --parameters \ datastoreReadGqlQuery="SELECT * FROM DATASTORE_KIND",\ datastoreReadProjectId=DATASTORE_PROJECT_ID,\ datastoreReadNamespace=DATASTORE_NAMESPACE,\ javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\ javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\ textWritePrefix=gs://BUCKET_NAME/output/
Substitua o seguinte:
JOB_NAME
: um nome de tarefa exclusivo à sua escolhaREGION_NAME
: a região onde quer implementar a tarefa do Dataflow, por exemplo,us-central1
VERSION
: 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/
BUCKET_NAME
: o nome do seu contentor do Cloud StorageDATASTORE_PROJECT_ID
: o Google Cloud ID do projeto onde a instância do Datastore existeDATASTORE_KIND
: o tipo das suas entidades do DatastoreDATASTORE_NAMESPACE
: o espaço de nomes das suas entidades do DatastoreJAVASCRIPT_FUNCTION
: o nome da função definida pelo utilizador (FDU) JavaScript que quer usarPor 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
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/Datastore_to_GCS_Text { "jobName": "JOB_NAME", "parameters": { "datastoreReadGqlQuery": "SELECT * FROM DATASTORE_KIND" "datastoreReadProjectId": "DATASTORE_PROJECT_ID", "datastoreReadNamespace": "DATASTORE_NAMESPACE", "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE", "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION", "textWritePrefix": "gs://BUCKET_NAME/output/" }, "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 escolhaLOCATION
: a região onde quer implementar a tarefa do Dataflow, por exemplo,us-central1
VERSION
: 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/
BUCKET_NAME
: o nome do seu contentor do Cloud StorageDATASTORE_PROJECT_ID
: o Google Cloud ID do projeto onde a instância do Datastore existeDATASTORE_KIND
: o tipo das suas entidades do DatastoreDATASTORE_NAMESPACE
: o espaço de nomes das suas entidades do DatastoreJAVASCRIPT_FUNCTION
: o nome da função definida pelo utilizador (FDU) JavaScript que quer usarPor 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
O que se segue?
- Saiba mais sobre os modelos do Dataflow.
- Consulte a lista de modelos fornecidos pela Google.