Нужно загрузить локальный файл в bigquery с помощью google-php-api, поэтому я использую:
$load = new Google_Service_Bigquery_JobConfigurationLoad();
$load->setDestinationTable($table);
$load->setSourceUris()
$load->setSourceFormat('NEWLINE_DELIMITED_JSON');
$load->setMaxBadRecords(1);
$config = new Google_Service_Bigquery_JobConfiguration();
$config->setLoad($load);
$job = new Google_Service_Bigquery_Job();
$job->setConfiguration($config);
$job->setKind('load');
return $this->service->jobs->insert(PROJECT, $job);
Проблема, с которой я сталкиваюсь, заключается в том, что
$load->setSourceUris()
Будет принимать только URI хранилища Google, и я хотел бы использовать локальный файл. В качестве альтернативы я могу одновременно направлять несколько строк в bigquery, однако я хотел бы просто загрузить файл или «массовую вставку», есть ли способ сделать это?
Вы можете загружать только файлы, загруженные в Google Cloud Storage, вы не можете загружать локальные файлы. Вам необходимо сначала загрузить файл в GCS.
Вы можете передавать содержимое файлов из локального файла в пакетном режиме.
Других решений пока нет …