Parallelstore kann Daten aus Cloud Storage importieren und in Cloud Storage exportieren. Mithilfe von Datenübertragungen können Sie Daten schnell in Ihre Parallelstore-Instanz laden und Cloud Storage als langlebige Sicherungsebene für Ihre Parallelstore-Instanz verwenden.
Datenimporte und ‑exporte sind inkrementell. Es werden nur Dateien kopiert, die am Ziel noch nicht vorhanden sind oder sich seit der Übertragung geändert haben.
Die voraussichtliche Übertragungsgeschwindigkeit finden Sie unter Leistung.
Erforderliche Berechtigungen
Das Nutzer- oder Dienstkonto, mit dem die Übertragung initiiert wird, benötigt die folgenden Berechtigungen:
parallelstore.instances.exportData
, um von Parallelstore zu Cloud Storage zu übertragen.parallelstore.instances.importData
, um sie in Cloud Storage zu übertragen.
Beide Berechtigungen werden mit der Rolle roles/parallelstore.admin
gewährt. Sie können eine benutzerdefinierte Rolle erstellen, um Berechtigungen unabhängig zu gewähren.
Außerdem benötigt das Parallelstore-Dienstkonto die folgende Berechtigung:
roles/storage.admin
für den Cloud Storage-Bucket.
Führen Sie zum Gewähren dieser Berechtigung den folgenden gcloud
-Befehl aus:
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
Ihre PROJECT_NUMBER ist nicht mit einer Projekt-ID identisch:
- Eine Projekt-ID ist eine eindeutige Zeichenfolge, die aus Buchstaben, Ziffern und Bindestrichen bestehen kann. Sie geben eine Projekt-ID an, wenn Sie das Projekt erstellen. Beispiel:
example-project-123
. - Eine Projektnummer ist eine automatisch generierte eindeutige Kennung für Ihr Projekt, die nur aus Zahlen besteht. Beispiel:
1234567890
.
Verwenden Sie den Befehl gcloud projects describe
, um die PROJECT_NUMBER für eine bestimmte Projekt-ID abzurufen:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
Daten in Parallelstore importieren
Sie können Daten aus einem Cloud Storage-Bucket importieren. Der Bucket kann sich im selben oder in einem anderen Projekt befinden. Der Bucket kann sich in einer anderen Zone oder Region als Ihre Parallelstore-Instanz befinden. Zwischenregionen-Übertragungen sind jedoch möglicherweise langsamer als innerhalb einer Region.
gcloud
gcloud beta parallelstore instances import-data INSTANCE_ID \
--location=LOCATION \
--source-gcs-bucket-uri=gs://BUCKET_NAME \
--destination-parallelstore-path=PS_PATH
Wobei:
- INSTANCE_ID ist der Name Ihrer Parallelstore-Instanz.
--location
muss eine unterstützte Zone sein.- Mit
--source-gcs-bucket-uri
wird der URI zu einem Cloud Storage-Bucket oder ein Pfad innerhalb eines Buckets im Formatgs://<bucket_name>/<optional_path_inside_bucket>
angegeben. --destination-parallelstore-path
gibt den Pfad zum Stammverzeichnis des Parallelstore-Dateisystems an. Muss mit/
beginnen. Der Standardwert ist/
.
Folgende Parameter sind optional:
- Mit
--request-id
können Sie dieser Anfrage eine eindeutige ID zuweisen. Wenn Sie diese Anfrage mit derselben Anfrage-ID noch einmal senden, ignoriert der Server die Anfrage, falls sie bereits abgeschlossen wurde. Muss eine gültige UUID sein, die nicht nur aus Nullen besteht. Beispiel:--request-id=c288b55f-f2f0-45fe-a8ce-8afe43876d6d
--async
gibt sofort eine Antwort zurück, ohne auf den Abschluss des Vorgangs zu warten.
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"
}
}
Wobei:
- PROJECT_ID ist die Google Cloud Projekt-ID.
- LOCATION muss die unterstützte Zone sein, in der sich Ihre Instanz befindet.
- INSTANCE_ID ist der Name Ihrer Parallelstore-Instanz.
source-gcs-bucket
enthält einenuri
-Schlüssel, dessen Wert den URI zu einem Cloud Storage-Bucket oder einen Pfad innerhalb eines Buckets im Formatgs://<bucket_name>/<optional_path_inside_bucket>
angibt.destination-parallelstore
enthält einenpath
-Schlüssel, dessen Wert den Pfad zum Stammverzeichnis des Parallelstore-Dateisystems angibt. Muss mit/
beginnen. Der Standardwert ist/
.
Wenn Sie Ihr eigenes Dienstkonto anstelle des von Google verwalteten Dienstmitarbeiters verwenden möchten, unterstützt die Anfrage ein serviceAccount
-Feld im JSON-Objekt:
"serviceAccount" : "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_ID"
Ein Beispiel für einen cURL-Befehl:
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":"/"}}'
Daten exportieren
Sie können Daten aus Ihrer Parallelstore-Instanz in einen Cloud Storage-Bucket im selben oder in einem anderen Projekt exportieren. Der Bucket kann sich in einer anderen Zone oder Region als Ihre Parallelstore-Instanz befinden. Interregionale Übertragungen sind jedoch möglicherweise langsamer als intraregionale Übertragungen.
gcloud
gcloud beta parallelstore instances export-data \
INSTANCE_ID \
--location=LOCATION \
--destination-gcs-bucket-uri="gs://BUCKET_NAME" \
--source-parallelstore-path="/"
Wobei:
- INSTANCE_ID ist der Name Ihrer Parallelstore-Instanz.
--location
muss eine unterstützte Zone sein.--destination-gcs-bucket-uri
gibt den URI zu einem Cloud Storage-Bucket oder einen Pfad innerhalb eines Buckets im Formatgs://<bucket_name>/<optional_path_inside_bucket>
an.--source-parallelstore-path
gibt den Pfad zum Stammverzeichnis des Parallelstore-Dateisystems an. Muss mit/
beginnen. Der Standardwert ist/
.
Folgende Parameter sind optional:
- Mit
--request-id
können Sie dieser Anfrage eine eindeutige ID zuweisen. Wenn Sie diese Anfrage mit derselben Anfrage-ID noch einmal senden, ignoriert der Server die Anfrage, falls sie bereits abgeschlossen wurde. Muss eine gültige UUID sein, die nicht nur aus Nullen besteht. Beispiel:--request-id=c288b55f-f2f0-45fe-a8ce-8afe43876d6d
--async
gibt sofort eine Antwort zurück, ohne auf den Abschluss des Vorgangs zu warten.
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/"
}
}
Wobei:
- PROJECT_ID ist die Google Cloud Projekt-ID.
- INSTANCE_ID ist der Name Ihrer Parallelstore-Instanz.
- LOCATION muss die unterstützte Zone sein, in der sich Ihre Parallelstore-Instanz befindet.
--source-parallelstore
enthält einenpath
-Schlüssel, dessen Wert den Pfad zum Stammverzeichnis des Parallelstore-Dateisystems angibt. Muss mit/
beginnen. Der Standardwert ist/
.--destination-gcs-bucket
enthält einenuri
-Schlüssel, dessen Wert den URI zu einem Cloud Storage-Bucket oder einen Pfad innerhalb eines Buckets im Formatgs://<bucket_name>/<optional_path_inside_bucket>
angibt.
Wenn Sie Ihr eigenes Dienstkonto anstelle des von Google verwalteten Dienstmitarbeiters verwenden möchten, unterstützt die Anfrage ein serviceAccount
-Feld im JSON-Objekt:
"serviceAccount" : "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_ID"
Ein Beispiel für einen cURL-Befehl:
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/"}}'
Vorgang abrufen
Um den Status eines Import- oder Exportvorgangs zu sehen, benötigen Sie die Vorgangs-ID. Diese ID wird vom Dienst zurückgegeben, wenn Sie eine Import- oder Exportanfrage stellen. Sie hat folgendes Format:
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]
Ein Beispiel für einen cURL-Befehl:
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
Vorgang abbrechen
Wenn Sie einen Import- oder Exportvorgang abbrechen möchten, benötigen Sie die Vorgangs-ID. Diese ID wird vom Dienst zurückgegeben, wenn Sie eine Import- oder Exportanfrage stellen. Sie hat folgendes Format:
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]
Ein Beispiel für einen cURL-Befehl:
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