Google Bigquery API tables.insert из CSV с неверным исходным URI для локального файла - PullRequest
0 голосов
/ 14 октября 2019

У меня есть файл CSV, который я хочу загрузить с помощью вызова API Google Bigquery tables.insert, это позволяет мне использовать externalDataConfiguration, где я могу загружать файлы CSV, которые автоматически создают таблицы в Bigquery, однако я продолжаю получать неверный исходный URIвернулся - файл, который я загружаю, находится на моем веб-сервере и является общедоступным - я изначально думал, что это были разрешения, когда я проверял это на Postman, однако, переместив его на свой веб-сервер, я получил точно такой же ответ.

Пример используемого скручивания:

{
  "externalDataConfiguration": {
    "sourceUris": [
      "https://xxxx/datasets/testing/claims.csv"
    ],
    "sourceFormat": "CSV",
    "csvoptions": {
        "fieldDelimiter": ",",
        "skipLeadingRows": "1"
    },
    "autodetect": true
  },
  "tableReference": {
    "tableId": "TEST_THIS_UPLOAD3"
  }
}

Я проверил это с набором данных листов Google, и это прекрасно работает, однако, CSV вызывает у меня проблемы - ответ выглядит так:

{
  "error": {
    "code": 400,
    "message": "Invalid source URI: https://xxx/datasets/testing/laims.csv",
    "errors": [
      {
        "message": "Invalid source URI: https://xxx/datasets/testing/claims.csv",
        "domain": "global",
        "reason": "invalid"
      }
    ],
    "status": "INVALID_ARGUMENT"
  }
}

1 Ответ

2 голосов
/ 14 октября 2019

BigQuery не поддерживает URL-адреса по HTTP, которые вы пытаетесь использовать.

BigQuery поддерживает в этом внешнем импорте 3 источника:

  • URI облачного хранилища
  • Большие идентификаторы URI Google Cloud
  • Резервные копии хранилища данных Google Cloud

это URI, а не URL-адреса, и они указывают его на файл в облачном хранилище Google, другими словами: Полностью квалифицированныйURI, которые указывают на ваши данные в Google Cloud.

Вам нужно поместить CSV в Google Cloud и использовать URI местоположения файла GCS в вашем запросе API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...