Parallelstore dapat mengimpor data dari, dan mengekspor data ke, Cloud Storage. Transfer data memungkinkan Anda memuat data dengan cepat ke instance Parallelstore, dan menggunakan Cloud Storage sebagai lapisan pendukung yang andal untuk instance Parallelstore.
Impor dan ekspor data bersifat inkremental; keduanya hanya menyalin file yang belum ada di tujuan, atau yang telah berubah sejak ditransfer.
Untuk mengetahui kecepatan transfer yang diharapkan, lihat Performa.
Izin yang diperlukan
Akun pengguna atau akun layanan yang digunakan untuk memulai transfer memerlukan izin berikut:
parallelstore.instances.exportData
untuk mentransfer dari Parallelstore ke Cloud Storage.parallelstore.instances.importData
untuk mentransfer ke Cloud Storage.
Kedua izin ini diberikan dengan peran roles/parallelstore.admin
. Anda dapat membuat peran khusus untuk memberikan izin secara independen.
Selain itu, akun layanan Parallelstore memerlukan izin berikut:
roles/storage.admin
di bucket Cloud Storage.
Untuk memberikan izin ini, jalankan perintah gcloud
berikut:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-parallelstore.iam.gserviceaccount.com \
--role=roles/storage.admin
PROJECT_NUMBER Anda tidak sama dengan project ID:
- Project ID adalah string unik yang dapat berupa kombinasi huruf,
angka, dan tanda hubung. Anda menentukan project ID saat membuat project. Contoh,
example-project-123
. - Nomor project adalah ID unik yang dibuat secara otomatis untuk project Anda yang hanya terdiri dari angka. Contoh,
1234567890
.
Untuk mendapatkan PROJECT_NUMBER untuk project ID tertentu, gunakan perintah gcloud projects describe
:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
Mengimpor data ke Parallelstore
Anda dapat mengimpor data dari bucket Cloud Storage. Bucket dapat berada di project yang sama atau berbeda. Bucket dapat berada di zona atau region yang berbeda dari instance Parallelstore Anda, tetapi transfer antar-region mungkin lebih lambat daripada transfer intra-region.
gcloud
gcloud beta parallelstore instances import-data INSTANCE_ID \
--location=LOCATION \
--source-gcs-bucket-uri=gs://BUCKET_NAME \
--destination-parallelstore-path=PS_PATH
Dengan keterangan:
- INSTANCE_ID adalah nama instance Parallelstore Anda.
--location
harus berupa zona yang didukung.--source-gcs-bucket-uri
menentukan URI ke bucket Cloud Storage, atau jalur dalam bucket, menggunakan formatgs://<bucket_name>/<optional_path_inside_bucket>
.--destination-parallelstore-path
menentukan jalur direktori utama ke sistem file Parallelstore. Harus diawali dengan/
. Jumlah defaultnya adalah/
Parameter berikut bersifat opsional:
--request-id
memungkinkan Anda menetapkan ID unik ke permintaan ini. Jika Anda mencoba ulang permintaan ini menggunakan ID permintaan yang sama, server akan mengabaikan permintaan jika telah selesai. Harus berupa UUID yang valid dan bukan berupa nol semua. Contoh:--request-id=c288b55f-f2f0-45fe-a8ce-8afe43876d6d
--async
segera menampilkan respons, tanpa menunggu operasi selesai.
REST
POST https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:importData
Authorization: Bearer [YOUR_ACCESS_TOKEN]
{
"source_gcs_bucket" : {
"uri" : "gs://BUCKET_NAME/"
},
"destination_parallelstore" : {
"path" : "/PATH"
}
}
Dengan keterangan:
- PROJECT_ID adalah Google Cloud project ID Anda.
- LOCATION harus berupa zona yang didukung tempat instance Anda berada.
- INSTANCE_ID adalah nama instance Parallelstore Anda.
source-gcs-bucket
berisi kunciuri
yang nilainya menentukan URI ke bucket Cloud Storage, atau jalur dalam bucket, menggunakan formatgs://<bucket_name>/<optional_path_inside_bucket>
.destination-parallelstore
berisi kuncipath
yang nilainya menentukan jalur direktori root ke sistem file Parallelstore. Harus diawali dengan/
. Default-nya adalah/
.
Untuk menggunakan akun layanan Anda sendiri, bukan agen layanan yang dikelola Google, permintaan mendukung kolom serviceAccount
dalam objek JSON:
"serviceAccount" : "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_ID"
Contoh perintah cURL terlihat seperti:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:importData \
-d '{"source_gcs_bucket": {"uri":"gs://BUCKET_NAME/"}, "destination_parallelstore": {"path":"/"}}'
Mengekspor data
Anda dapat mengekspor data dari instance Parallelstore ke bucket Cloud Storage di project yang sama atau berbeda. Bucket dapat berada di zona atau region yang berbeda dari instance Parallelstore Anda, tetapi transfer antar-region mungkin lebih lambat daripada transfer intra-region.
gcloud
gcloud beta parallelstore instances export-data \
INSTANCE_ID \
--location=LOCATION \
--destination-gcs-bucket-uri="gs://BUCKET_NAME" \
--source-parallelstore-path="/"
Dengan keterangan:
- INSTANCE_ID adalah nama instance Parallelstore Anda.
--location
harus berupa zona yang didukung.--destination-gcs-bucket-uri
menentukan URI ke bucket Cloud Storage, atau jalur dalam bucket, menggunakan formatgs://<bucket_name>/<optional_path_inside_bucket>
.--source-parallelstore-path
menentukan jalur direktori utama ke sistem file Parallelstore. Harus diawali dengan/
. Jumlah defaultnya adalah/
Parameter berikut bersifat opsional:
--request-id
memungkinkan Anda menetapkan ID unik ke permintaan ini. Jika Anda mencoba ulang permintaan ini menggunakan ID permintaan yang sama, server akan mengabaikan permintaan jika telah selesai. Harus berupa UUID yang valid dan bukan berupa nol semua. Contoh:--request-id=c288b55f-f2f0-45fe-a8ce-8afe43876d6d
--async
segera menampilkan respons, tanpa menunggu operasi selesai.
REST
POST https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:exportData
Authorization: Bearer [YOUR_ACCESS_TOKEN]
{
"source_parallelstore" : {
"path" : "/"
},
"destination_gcs_bucket" : {
"uri" : "gs://BUCKET_NAME/"
}
}
Dengan keterangan:
- PROJECT_ID adalah Google Cloud project ID Anda.
- INSTANCE_ID adalah nama instance Parallelstore Anda.
- LOCATION harus berupa zona yang didukung tempat instance Parallelstore Anda berada.
--source-parallelstore
berisi kuncipath
yang nilainya menentukan jalur direktori root ke sistem file Parallelstore. Harus diawali dengan/
. Default-nya adalah/
.--destination-gcs-bucket
berisi kunciuri
yang nilainya menentukan URI ke bucket Cloud Storage, atau jalur dalam bucket, menggunakan formatgs://<bucket_name>/<optional_path_inside_bucket>
.
Untuk menggunakan akun layanan Anda sendiri, bukan agen layanan yang dikelola Google, permintaan mendukung kolom serviceAccount
dalam objek JSON:
"serviceAccount" : "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_ID"
Contoh perintah cURL terlihat seperti:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json"
https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:exportData \
-d '{"source_parallelstore": {"path":"/"}, "destination_gcs_bucket": {"uri":"gs://BUCKET_NAME/"}}'
Mendapatkan operasi
Untuk melihat status operasi impor atau ekspor, Anda memerlukan ID operasi. ID ini ditampilkan oleh layanan saat Anda membuat permintaan impor atau ekspor, dan menggunakan format berikut:
operation-1234567890123-6127783ad26ea-88913969-02748053
gcloud
gcloud beta parallelstore operations describe OPERATION_ID \
--location=LOCATION
REST
GET https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Authorization: Bearer [YOUR_ACCESS_TOKEN]
Contoh perintah cURL terlihat seperti:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Batalkan operasi
Untuk membatalkan operasi impor atau ekspor, Anda memerlukan ID operasi. ID ini ditampilkan oleh layanan saat Anda membuat permintaan impor atau ekspor, dan menggunakan format berikut:
operation-1234567890123-6127783ad26ea-88913969-02748053
gcloud
gcloud beta parallelstore operations cancel OPERATION_ID \
--location=LOCATION
REST
POST https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel
Authorization: Bearer [YOUR_ACCESS_TOKEN]
Contoh perintah cURL terlihat seperti:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://parallelstore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel