Template ini tidak digunakan lagi dan akan dihapus pada Q3 2023. Migrasi ke template Firestore ke Teks Cloud Storage.
Template Teks Datastore ke Cloud Storage adalah pipeline batch yang membaca entity Datastore dan menulisnya ke Cloud Storage sebagai file teks. Anda dapat menyediakan fungsi untuk memproses setiap entity sebagai string JSON. Jika Anda tidak menyediakan fungsi seperti itu, setiap baris dalam file output akan menjadi entitas yang diserialisasi JSON.
Persyaratan pipeline
Datastore harus disiapkan di project sebelum menjalankan pipeline.
Parameter template
Parameter | Deskripsi |
---|---|
datastoreReadGqlQuery |
Kueri GQL yang menentukan entity mana yang akan diambil. Contoh, SELECT * FROM MyKind . |
datastoreReadProjectId |
ID project Google Cloud dari instance Datastore yang datanya ingin Anda baca. |
datastoreReadNamespace |
Namespace entity yang diminta. Untuk menggunakan namespace default, kosongkan parameter ini. |
javascriptTextTransformGcsPath |
(Opsional)
URI Cloud Storage dari file .js yang menentukan fungsi yang ditentukan pengguna (UDF) JavaScript yang ingin Anda gunakan. Misalnya, gs://my-bucket/my-udfs/my_file.js .
|
javascriptTextTransformFunctionName |
(Opsional)
Nama fungsi yang ditentukan pengguna (UDF) JavaScript yang ingin Anda gunakan.
Misalnya, jika kode fungsi JavaScript Anda adalah myTransform(inJson) { /*...do stuff...*/ } , nama fungsi adalah myTransform . Untuk contoh UDF JavaScript, lihat
Contoh UDF.
|
textWritePrefix |
Awalan jalur Cloud Storage untuk menentukan tempat data ditulis. Misalnya gs://mybucket/somefolder/ . |
Menjalankan template
Konsol
- Buka halaman Create job from template Dataflow. Buka Buat tugas dari template
- Di kolom Job name, masukkan nama pekerjaan yang unik.
- Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region
default-nya adalah
us-central1
.Untuk daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.
- Dari menu drop-down Dataflow template, pilih the Datastore to Text Files on Cloud Storage template.
- Di kolom parameter yang disediakan, masukkan parameter value Anda.
- Klik Run job.
gcloud
Di shell atau terminal Anda, jalankan template:
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/
Ganti kode berikut:
JOB_NAME
: nama pekerjaan unik pilihan AndaREGION_NAME
: region tempat Anda ingin men-deploy tugas Dataflow, misalnyaus-central1
VERSION
: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latest
untuk menggunakan versi terbaru template, yang tersedia di folder induk tidak bertanggal di bucket— gs://dataflow-templates-REGION_NAME/latest/- nama versi, seperti
2023-09-12-00_RC00
, untuk menggunakan versi template tertentu, yang dapat ditemukan bertingkat di folder induk bertanggal masing-masing dalam bucket— gs://dataflow-templates-REGION_NAME/
BUCKET_NAME
: nama bucket Cloud Storage AndaDATASTORE_PROJECT_ID
: ID project Google Cloud tempat instance Datastore beradaDATASTORE_KIND
: jenis entity Datastore AndaDATASTORE_NAMESPACE
: namespace entity Datastore AndaJAVASCRIPT_FUNCTION
: nama fungsi yang ditentukan pengguna (UDF) JavaScript yang ingin Anda gunakanMisalnya, jika kode fungsi JavaScript Anda adalah
myTransform(inJson) { /*...do stuff...*/ }
, nama fungsi adalahmyTransform
. Untuk contoh UDF JavaScript, lihat Contoh UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: URI Cloud Storage dari file.js
yang menentukan fungsi yang ditentukan pengguna (UDF) JavaScript yang ingin Anda gunakan—misalnya,gs://my-bucket/my-udfs/my_file.js
API
Untuk menjalankan template menggunakan REST API, kirim permintaan HTTP POST. Untuk informasi selengkapnya tentang API dan cakupan otorisasinya, lihat 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" } }
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud tempat Anda ingin menjalankan tugas DataflowJOB_NAME
: nama pekerjaan unik pilihan AndaLOCATION
: region tempat Anda ingin men-deploy tugas Dataflow, misalnyaus-central1
VERSION
: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latest
untuk menggunakan versi terbaru template, yang tersedia di folder induk tidak bertanggal di bucket— gs://dataflow-templates-REGION_NAME/latest/- nama versi, seperti
2023-09-12-00_RC00
, untuk menggunakan versi template tertentu, yang dapat ditemukan bertingkat di folder induk bertanggal masing-masing dalam bucket— gs://dataflow-templates-REGION_NAME/
BUCKET_NAME
: nama bucket Cloud Storage AndaDATASTORE_PROJECT_ID
: ID project Google Cloud tempat instance Datastore beradaDATASTORE_KIND
: jenis entity Datastore AndaDATASTORE_NAMESPACE
: namespace entity Datastore AndaJAVASCRIPT_FUNCTION
: nama fungsi yang ditentukan pengguna (UDF) JavaScript yang ingin Anda gunakanMisalnya, jika kode fungsi JavaScript Anda adalah
myTransform(inJson) { /*...do stuff...*/ }
, nama fungsi adalahmyTransform
. Untuk contoh UDF JavaScript, lihat Contoh UDF.PATH_TO_JAVASCRIPT_UDF_FILE
: URI Cloud Storage dari file.js
yang menentukan fungsi yang ditentukan pengguna (UDF) JavaScript yang ingin Anda gunakan—misalnya,gs://my-bucket/my-udfs/my_file.js
Langkah selanjutnya
- Pelajari Template Dataflow.
- Lihat daftar template yang disediakan Google.