Есть разные пути для управления этим, я думаю, что самый простой из них - сделать то, что сказал Джим Моррисон, использовать шаблон хранилища данных Cloud для JSON. Также с таким подходом есть различные возможности:
Сначала загрузите общедоступный шаблон на локальный компьютер с помощью этой команды:
gsutil cp gs://dataflow-templates/latest/Datastore_to_GCS_Text .
(будьте осторожны, не удаляйте последнее. Вы можете перейти в каталог, в который хотите его скачать)
Затем, как объясняет вам Джим Моррисон в своем ответе, отредактируйте загруженный файл и измените параметры шаблона своими собственными [1] .
Когда это будет сделано, снова загрузите его в свое ведро. Например:
gsutil cp Datastore_to_GCS_Text gs://datastore_to_cloudsql/template/
И затем вы можете запустить задание с помощью консоли GCP (путем создания задания из шаблона с помощью пользовательского шаблона) [2]
Если у вас есть файл JSON, преобразуйте его в CSV и импортируйте в облачный SQL [3] . Также, возможно, вы захотите добавить функцию, так как параметры шаблона позволяют [1] напрямую преобразовывать экспортируемые данные в формат CSV, а не в файл JSON.
Предоставленный формат JSON представляет собой документ, заполненный строками, подобными этой, которые я отформатировал, чтобы сделать его более понятным:
{
"key":{"partitionId":{"projectId":"MY_PROJECT_ID"},
"path":[{"kind":"MY_KIND_NAME","id":"4814888656437248"}]},
"properties":{
"MY_FIRST_COLUMN":{"integerValue_FOR_EXAMPLE":"3_INT_VALUE_EXAMPLE"},
"SECOND_COLUMN":{"stringValue_FOR_EXAMPLE":"foobarfoobarfoobar_FOR_EXAMPLE"},
"THIRD_COLUMN":{"stringValue_FOR_EXAMPLE":"foobar_FOR_EXAMPLE"}
}
}
1: https://cloud.google.com/dataflow/docs/templates/provided-templates#cloud-datastore-to-cloud-storage-text
2: https://cloud.google.com/dataflow/docs/templates/executing-templates#using-the-gcp-console
3: https://cloud.google.com/sql/docs/mysql/import-export/importing#importing_csv_files_to_title_short