【发布时间】:2014-01-31 20:14:45
【问题描述】:
我正在尝试通过 HTTP Post 请求插入作业,但我收到 Invalid path 错误。
我的请求正文如下:
{
"configuration": {
"load": {
"sourceUris": [
"gs://onianalytics/PersData.csv"
],
"schema": {
"fields": [
{
"name": "Name",
"type": "STRING"
},
{
"name": "Age",
"type": "INTEGER"
}
]
},
"destinationTable": {
"datasetId": "Test_Dataset",
"projectId": "lithe-anvil-404",
"tableId": "tb_test_Pers"
}
}
},
"jobReference": {
"jobId": "10",
"projectId": "lithe-anvil-404"
}
}
对于 sourceuri 参数,我传递“gs://onianalytics/PersData.csv”,其中 onianalytics 是我的存储桶名称,PersData.csv 是我的 csv 文件(我想从中将数据上传到 google bigquery)。
我收到以下回复:
"status": {
"state": "DONE",
"errorResult": {
"reason": "invalid",
"message": "Invalid path: gs://onianalytics/PersData.csv"
},
"errors": [
{
"reason": "invalid",
"message": "Invalid path: gs://onianalytics/PersData.csv"
}
]
},
"statistics": {
"creationTime": "1387276603674",
"startTime": "1387276603751",
"endTime": "1387276603751"
}
}
我的存储桶位于激活了 BigQuery 服务的同一 projectid 下。另外,我在 API 和 Auth 下启用了 Google Cloud Storage。身份验证时添加了以下范围:
googleapis.com/auth/bigquery、googleapis.com/auth/cloud-platform、googleapis.com/auth/devstorage.full_control、googleapis.com/auth/devstorage.read_only、googleapis.com/auth/devstorage.read_write
我通过“试试看!”插入此作业developer.google.com/bigquery/docs/reference/v2/jobs/insert 上提供的链接。
事实上,我可以通过 API 在 Goggle 云存储中创建存储桶和对象。但是当我尝试从上传的对象(这是一个 csv 文件)中插入作业时,我得到了“无效路径”错误。谁能帮我确定为什么会发生此错误?
【问题讨论】:
-
我看到您的“onanalytics”存储桶正在使用default permissions。首先确保您的“PersData.csv”确实存在于您bucket 中。然后尝试使用使用项目IAM 中列出的任何用户帐户登录的 BigQuery 控制台,按照我们的guide 执行加载作业。
标签: google-bigquery google-cloud-storage