0

Я пытаюсь экспортировать таблицу из базы данных Cloud SQL, принадлежащей другому проекту. Вызывающий проект имеет доступ и может успешно отображать экземпляры (используя getItems()), но при попытке экспорта возвращается «Клиент не уполномочен делать этот запрос».Как экспортировать с помощью Cloud SQL API из экземпляров Cloud SQL, принадлежащих другому проекту?

Вот код, который я использую для экспорта.

$client = new Google_Client(); 
$client->setAuth(new Google_Auth_AppIdentity($client)); 
$client->getAuth()>authenticateForScope('https://www.googleapis.com/auth/sqlservice.admin'); 
$client->getAuth()>authenticateForScope('https://www.googleapis.com/auth/cloud-platform'); 
$sqladmin = new Google_Service_SQLAdmin($client); 
$postBody = new Google_Service_SQLAdmin_InstancesExportRequest(); 

//Set csv options 
$csv_options = new Google_Service_SQLAdmin_ExportContextCsvExportOptions(); 
$csv_options->setSelectQuery('SELECT id FROM test.test;'); 

//set export context options. 
$ec = new Google_Service_SQLAdmin_ExportContext(); 
$ec->setCsvExportOptions($csv_options); 

$ec->setUri('gs://bucket/file.csv'); 

$postBody->setExportContext($ec); 

$response = $sqladmin->instances->export('testing-project-xxxx', 'database', $postBody); 

ответ

1
$response = $sqladmin->instances->export('testing-project-xxxx', 'database', $postBody); 

Заменить имя базы данных с именем экземпляра