BigQuery tables.insert 404 错误

BigQuery tables.insert 404 Error

在 BigQuery 文档中它说 tables.insert 创建一个新的空 table (https://cloud.google.com/bigquery/docs/reference/v2/tables/insert)

但是,当我尝试在页面中测试该端点时,出现 404 Table 未找到错误。

要求:

POST https://www.googleapis.com/bigquery/v2/projects/myProject/datasets/temp/tables?key={YOUR_API_KEY}

{
 "expirationTime": "1452627594",
 "tableReference": {
  "tableId": "myTable"
 }
}

响应:

404 OK

- Show headers -

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "notFound",
    "message": "Not found: Table myProject.myTable"
   }
  ],
  "code": 404,
  "message": "Not found: Table myProject:temp.myTable"
 }
}

我确定对 404 错误有一个合理的解释,但我无法理解它,因为我正在尝试创建 table,如果尚不存在应该没问题?

谢谢

您在请求正文中提供的信息不足以让 BigQuery 创建新的 table

至少 - 添加架构 - 如下所示(仅作为示例):

{
 "schema": {
  "fields": [
   {
    "name": "page_event",
    "mode": "repeated",
    "type": "RECORD",
    "fields": [
     {
      "name": "id",
      "type": "STRING"
     },
     {
      "name": "description",
      "type": "STRING"
     }
    ]
   }
  ]
 }
}

Tables resource 中查看更多信息,了解您可以在请求正文中提供的内容

下面是一个应该工作的上述虚拟架构的示例:

POST https://www.googleapis.com/bigquery/v2/projects/myProject/datasets/temp/tables?key={YOUR_API_KEY}

{
 "schema": {
  "fields": [
   {
    "name": "page_event",
    "mode": "repeated",
    "type": "RECORD",
    "fields": [
     {
      "name": "id",
      "type": "STRING"
     },
     {
      "name": "description",
      "type": "STRING"
     }
    ]
   }
  ]
 },
 "expirationTime": "1452560523000",
 "tableReference": {
  "tableId": "myTable"
 }
}

EDIT:

它不能与你的问题 "expirationTime": "1452627594" 一起工作的原因是因为它指向过去