google-cloud-sql - Google Cloud SQL 以编程方式导入数据库(无提示)
问题描述
我想以编程方式导出一个数据库并将输出导入另一个数据库。这是我到目前为止所拥有的:
gcloud sql export sql instance_name gs://bucketname/db.gz --database=db_name
gcloud sql databases create new_db --instance=instance_name
gcloud sql import sql instance_name gs://bucketname/db.gz --database=new_db
Created database [new_db].
instance: instance_name
Data from [gs://bucketname/db.gz]
will be imported to [instance_name].
Do you want to continue (Y/n)
如您所见,提示是问题所在。如何在没有提示的情况下导入它?有没有其他方法可以导入导出?
解决方案
您可以在运行命令时使用--quiet、-q参数gcloud
,如下所示:
gcloud sql import sql instance_name gs://bucketname/db.gz --database=new_db -q
gcloud参考官方文档包含关于此参数的以下说明,以防您想查看它:
--安静,-q
运行 gcloud 命令时禁用所有交互式提示。如果需要输入,将使用默认值,否则将引发错误。覆盖此命令调用的默认 core/disable_prompts 属性值。必须在命令的开头使用。这相当于将环境变量 CLOUDSDK_CORE_DISABLE_PROMPTS 设置为 1。
此外,您可以使用API 调用作为替代选项来执行导入/导出任务;cURL
这样,您只需将授权的请求发送给服务即可。
*输入:
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
推荐阅读
- android - 在android中创建一个带有图标的按钮
- c++ - 什么是调用“isPalindrome”没有匹配的函数?
- reactjs - 反应最小最大范围的年份选择器
- javascript - Javascript - 获取每个 selectpicker 选定值的自定义属性
- angular - Angular 10/11:找不到管道“ngrxPush”
- python - Python:仅将索引展平一级
- dynamics-crm - 无法在工作流 - CRM 中分配事件
- search - 在 Sitefinity 后端动态模块搜索中搜索标题以外的字段
- c# - NSwag 变更控制器说明
- gatsby - 生产 Gatsby 博客未在 MDX 文件中呈现 TailwindCSS 类