我正在尝试使用云存储中的csv填充mysql数据库
我正在使用API Explorer通过以下请求正文执行请求:
{
"importContext": {
"csvImportOptions": {
"columns": [
"col1",
"col2",
"col3"
],
"table": "table_name"
},
"database": "db_name",
"fileType": "CSV",
"kind": "sql#importContext",
"uri": "gs://some_bucket/somecsv.csv"
}
}
当我按下执行按钮时,我收到以下内容的响应200
{
"kind": "sql#operation",
"selfLink": "https://www.googleapis.com/sql/v1beta4/projects/somelink",
"targetProject": "some-project",
"targetId": "some-tarjet",
"targetLink": "https://www.googleapis.com/sql/v1beta4/projects/somelink",
"name": "some-name",
"operationType": "IMPORT",
"status": "PENDING",
"user": "myuser@mydomain.com",
"insertTime": "somedate",
"importContext": {
...
}
}
但是,如果我转到Google控制台中的详细实例页面,则会看到以下消息:
gs:// link-to-csv:拒绝访问该帐户 oosyrcl32gnzypxg4uhqw54uab@somename.iam.gserviceaccount.com (权限问题?)
我已使用在csv所在的云存储中创建存储桶的同一帐户进行身份验证,并且使用python sdk也会发生这种情况。
答案 0 :(得分:2)
您正在尝试从存储桶向Cloud SQL实例进行导入,但是该导入将由一个服务帐户(尤其是一个服务帐户)进行,该帐户可以在“服务帐户”部分中看到, Cloud SQL实例的详细信息。
CloudSQL服务帐户可能没有适当的权限来访问带有要导入的数据的Cloud Storage存储桶。
为了在SQL实例和存储桶之间创建成功的导入,应首先设置适当的权限。您应将Storage Object Viewer role赋予服务帐户“ oosyrcl32gnzypxg4uhqw54uab@speckle-umbrella-27.iam.gserviceaccount.com”。
答案 1 :(得分:0)