我要导出数据库,并<编程>以编程方式将输出导入另一个数据库。这是我到目前为止的内容:
<app-userinfo></app-userinfo>
<div style="margin-top:50px">
<app-qualification></app-qualification>
</div>
您可以看到提示是问题所在。 如何在没有提示的情况下导入它?还有另一种进口方式吗?
答案 0 :(得分:1)
运行gcloud
命令时,可以使用-quiet,-q 参数,如下所示:
gcloud sql import sql instance_name gs://bucketname/db.gz --database=new_db -q
Convert multiple relationships between 2 nodes to a single one with weight官方文档包含有关此参数的以下说明,以备您查看:
-安静,-q
在运行gcloud命令时禁用所有交互式提示。如果输入 是必需的,将使用默认值,否则将引发错误。 覆盖此属性的默认core / disable_prompts属性值 命令调用。必须在命令开头使用。这是 等效于设置环境变量 CLOUDSDK_CORE_DISABLE_PROMPTS到1。
此外,您可以使用cURL
API调用作为替代选项来执行gcloud Reference / import任务;这样,您只需要将export请求发送到服务。
*正在导入:
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{"importContext":
{"fileType": "SQL",
"uri": "gs://[BUCKET_NAME]/[PATH_TO_DUMP_FILE]",
"database": "[DATABASE_NAME]" }}' \
-X POST \
https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/import
*导出:
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{"exportContext":
{"fileType": "SQL",
"uri": "gs://<BUCKET_NAME>/<PATH_TO_DUMP_FILE>",
"databases": ["<DATABASE_NAME1>", "<DATABASE_NAME2>"] }}' \
-X POST \
https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/export