在Google Cloud SQL中使用CURL将数据导出到CSV文件
我在终端中运行CURL时出错。错误如下所示:在Google Cloud SQL中使用CURL将数据导出到CSV文件,curl,google-cloud-platform,export-to-csv,google-cloud-sql,Curl,Google Cloud Platform,Export To Csv,Google Cloud Sql,我在终端中运行CURL时出错。错误如下所示: { "error": { "errors": [ { "domain": "global", "reason": "parseError", "message": "Parse Error" } ], "code": 400, "message": "Parse Error" } } 下面是我的代码: ACCESS_TOKEN="$(gcloud auth application-defaul
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error"
}
],
"code": 400,
"message": "Parse Error"
}
}
下面是我的代码:
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{"exportContext":
{"fileType": "CSV",
"uri": "gs://project-initial-db/test_gutil.csv",
"databases": ["my_db"] },
"csvExportOptions":
{"selectQuery":"SELECT * FROM `trans_channel` INTO OUTFILE "test_gutil.csv" CHARACTER SET "utf8mb4" FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY "\"" ESCAPED BY "\\" LINES TERMINATED BY "\n";"}}' \
-X POST \
https://www.googleapis.com/sql/v1beta4/projects/project-11/instances/project-db/export
有人知道这个错误吗
我在Google Cloud SQL上查找关于使用CURL导出到CSV的信息,但我只得到了一点信息
仅供参考,我已经设置了环境变量(GOOGLE_APPLICATION_CREDENTIALS),身份验证成功
如果您能提供任何帮助,我将不胜感激。谢谢 您只是在w字段“cvsExportOptions”中缺少了一点东西,它应该是这样的:
"csvExportOptions":
{"selectQuery":"[YOUR_QUERY]"}
您可能有更详细的信息,您还可以使用页面右侧的trytheapi实用程序检查curl是否正确
编辑
从trythisapi实用程序复制api调用,我使用该实用程序进行测试,与它为我工作时完全一样。请尝试用您的数据替换占位符
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{
"exportContext": {
"fileType": "CSV",
"uri": "gs://[YOUR_BUCKET]/[YOUR_PATH_TO_DUMP_FILE]",
"databases": [
"[YOUR_DATABASE]"
],
"csvExportOptions": {
"selectQuery": "[YOUR_QUERY]"
}
}
}' \
-X POST \
https://www.googleapis.com/sql/v1beta4/projects/[YOUR_PROJECT]/instances/[YOUR_INSTANCE]/export
我添加了“selectQuery”,但是结果还是一样的。好吧,我想我已经成功了。我相信,在您的代码中,即答案中链接中的示例代码中,一定有一些无法正确解析的不可见字符。我所做的是在trytheapi实用程序中测试我的api调用,在看到它工作之后,我复制了它,并将其粘贴到参数“-data”中。我将使用适用于我的确切代码(个人数据除外)编辑我的答案。为了您的利益,您应该将您的个人数据(如项目名称和实例名称)替换为占位符,以便您不会与所有人共享。