我能够使用这个命令毫不费力地将实体导出到存储桶中:
gcloud datastore export --kinds="KIND1,KIND2" --namespaces="NAMESPACE1,NAMESPACE2" gs://${BUCKET}
根据文档导入可以这样完成:
gcloud datastore import gs://${BUCKET}/[PATH]/[FILE].overall_export_metadata
或者像这样:
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://datastore.googleapis.com/v1/projects/${PROJECT_ID}:import \
-d '{
"inputUrl": "gs://'${BUCKET}'/[PATH]/[FILE].overall_export_metadata",
}'
我的数据存储模拟器正在 localhost:8081
上运行 我是否可以使用此 curl 命令将数据导入模拟器?文档中没有关于它的任何内容,我试过猜测很多网址,但没有任何效果。
如果这不可能,是否有其他方法可以填充我的本地模拟器或更好地将本地应用引擎连接到生产数据存储?
显然曾经有一种使用 csv 文件导出和导入的方法:
Google cloud datastore emulator init data
但这已被弃用。
最佳答案
数据存储模拟器现在支持导入和导出:
导入:
curl -X POST localhost:8081/v1/projects/[PROJECT_ID]:import \
-H 'Content-Type: application/json' \
-d '{"input_url":"[ENTITY_EXPORT_FILES]"}'
导出:
curl -X POST localhost:8081/v1/projects/[PROJECT_ID]:export \
-H 'Content-Type: application/json' \
-d '{"output_url_prefix":"EXPORT_DIRECTORY"}'
https://cloud.google.com/datastore/docs/tools/emulator-export-import
关于google-cloud-platform - 将实体导入本地 GCP 数据存储模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51717445/