Questo modello è deprecato e verrà rimosso nel terzo trimestre del 2023. Esegui la migrazione al modello di testo da Firestore a Cloud Storage.
Il modello di testo da Datastore a Cloud Storage è una pipeline batch che legge le entità Datastore e le scrive in Cloud Storage come file di testo. Puoi fornire una funzione per elaborare ogni entità come una stringa JSON. Se non fornisci una funzione simile, ogni riga nel file di output sarà un'entità con serializzazione JSON.
Requisiti della pipeline
Prima di eseguire la pipeline, Datastore deve essere configurato nel progetto.
Parametri del modello
Parametri obbligatori
- datastoreReadGqlQuery: una query GQL (https://cloud.google.com/datastore/docs/reference/gql_reference) che specifica le entità da recuperare. Ad esempio,
SELECT * FROM MyKind. - datastoreReadProjectId: l'ID del progetto Google Cloud che contiene l'istanza Datastore da cui vuoi leggere i dati.
- textWritePrefix: il prefisso del percorso Cloud Storage che specifica dove vengono scritti i dati. Ad esempio,
gs://mybucket/somefolder/.
Parametri facoltativi
- datastoreReadNamespace: lo spazio dei nomi delle entità richieste. Per utilizzare lo spazio dei nomi predefinito, lascia vuoto questo parametro.
- javascriptTextTransformGcsPath: l'URI Cloud Storage del file .js che definisce la funzione JavaScript definita dall'utente (UDF) da utilizzare. Ad esempio,
gs://my-bucket/my-udfs/my_file.js. - javascriptTextTransformFunctionName: il nome della funzione definita dall'utente (UDF) JavaScript da utilizzare. Ad esempio, se il codice della funzione JavaScript è
myTransform(inJson) { /*...do stuff...*/ }, il nome della funzione èmyTransform. Per esempi di funzioni JavaScript definite dall'utente, consulta Esempi di funzioni definite dall'utente (https://github.com/GoogleCloudPlatform/DataflowTemplates#udf-examples).
Esegui il modello
Console
- Vai alla pagina Dataflow Crea job da modello. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome job univoco.
- (Facoltativo) Per Endpoint regionale, seleziona un valore dal menu a discesa. La regione predefinita è
us-central1.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta Località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona il modello File di testo da Datastore a Cloud Storage.
- Nei campi dei parametri forniti, inserisci i valori dei parametri.
- Fai clic su Esegui job.
gcloud
Nella shell o nel terminale, esegui il modello:
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/
Sostituisci quanto segue:
JOB_NAME: un nome job univoco a tua sceltaREGION_NAME: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1VERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare la versione più recente del modello, disponibile nella cartella principale non datata nel bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale datata nel bucket: gs://dataflow-templates-REGION_NAME/
BUCKET_NAME: il nome del bucket Cloud StorageDATASTORE_PROJECT_ID: l'ID progetto in cui esiste l'istanza Datastore Google CloudDATASTORE_KIND: il tipo di entità DatastoreDATASTORE_NAMESPACE: lo spazio dei nomi delle entità DatastoreJAVASCRIPT_FUNCTION: il nome della funzione JavaScript definita dall'utente (UDF) che vuoi utilizzareAd esempio, se il codice della funzione JavaScript è
myTransform(inJson) { /*...do stuff...*/ }, il nome della funzione èmyTransform. Per esempi di funzioni JavaScript definite dall'utente, consulta Esempi di funzioni definite dall'utente.PATH_TO_JAVASCRIPT_UDF_FILE: l'URI Cloud Storage del file.jsche definisce la funzione JavaScript definita dall'utente che vuoi utilizzare, ad esempiogs://my-bucket/my-udfs/my_file.js
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta HTTP POST. Per saperne di più sull'
API e sui relativi ambiti di autorizzazione, consulta
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" } }
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto in cui vuoi eseguire il job Dataflow Google CloudJOB_NAME: un nome job univoco a tua sceltaLOCATION: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1VERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare la versione più recente del modello, disponibile nella cartella principale non datata nel bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale datata nel bucket: gs://dataflow-templates-REGION_NAME/
BUCKET_NAME: il nome del bucket Cloud StorageDATASTORE_PROJECT_ID: l'ID progetto in cui esiste l'istanza Datastore Google CloudDATASTORE_KIND: il tipo di entità DatastoreDATASTORE_NAMESPACE: lo spazio dei nomi delle entità DatastoreJAVASCRIPT_FUNCTION: il nome della funzione JavaScript definita dall'utente (UDF) che vuoi utilizzareAd esempio, se il codice della funzione JavaScript è
myTransform(inJson) { /*...do stuff...*/ }, il nome della funzione èmyTransform. Per esempi di funzioni JavaScript definite dall'utente, consulta Esempi di funzioni definite dall'utente.PATH_TO_JAVASCRIPT_UDF_FILE: l'URI Cloud Storage del file.jsche definisce la funzione JavaScript definita dall'utente che vuoi utilizzare, ad esempiogs://my-bucket/my-udfs/my_file.js
Passaggi successivi
- Scopri di più sui modelli Dataflow.
- Consulta l'elenco dei modelli forniti da Google.