本文介绍了当导入文件包含通配符时,gCloud SQL导入CSV失败并出现权限错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
根据Google Cloud Platform SQL文档,我应该能够通过在文件名中加上*来导出和导入GCS存储桶中的分片文件。
如果我导入一个文件,它可以正常工作:
gcloud sql import csv sql-instance-name gs://gcsbucketname/data/led/led_finance_view_000000000000.csv --project=project-name --database=finance --table=Import_Test -q
Importing data into Cloud SQL instance...done.
Imported data from [gs://gcsbucketname/data/led/led_finance_view_000000000000.csv] into [https://www.googleapis.com/sql/v1beta4/projects/project-name/instances/sql-instance-name].
但是如果我导入一个分片的文件,它会抛出一个权限错误:
gcloud sql import csv sql-instance-name gs://gcsbucketname/data/led/led_finance_view_*.csv --project=project-name --database=finance --table=Import_Test -q
ERROR: (gcloud.sql.import.csv) HTTPError 403: The service account does not have the required permissions for the bucket.
我可以使用相同的存储桶SQL实例确认这些命令在同一用户下运行。
我认为‘403服务帐户权限’错误可能是GCP中的错误,因此是转移注意力的问题-但它为什么不让我导入切分的文件?
推荐答案
目前,CloudSQL不支持使用通配符一次导入多个csv文件。我已经为此开通了一个公共feature request。您可以启动以使其获得可见性。
同时,作为一种解决办法,您可以使用脚本为每个文件运行一次导入命令,或者在导入之前加入CSV文件。
这篇关于当导入文件包含通配符时,gCloud SQL导入CSV失败并出现权限错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!