Есть ли способ подключиться к Google Cloud Storage из Google Compute Engine?

В настоящее время я использую Google App Engine для моего проекта PHP. Я решил перенести свой проект в Google Compute Engine, но не смог подключиться к Google Cloud Storage через php. Есть ли способ обойти эту проблему?

Обновить:

Я обнаружил, что это достижимо, и мне нужен пример использования Server API для захвата содержимого хранилища. Это то, что я сделал.

require_once 'GoogleAPI/autoload.php';
$projectId = "dummyid";
$client = new Google_Client();
$client->setApplicationName("Gave");
$client->setDeveloperKey("SERVERKEY");
$client->addScope(Google_Service_Storage::DEVSTORAGE_FULL_CONTROL);

$storage = new Google_Service_Storage($client);
$buckets = $storage->buckets->listBuckets($projectId);
foreach ($buckets['items'] as $bucket) {
printf("%s\n", $bucket->getName());
}

Но это все еще не работает. Имеет ли ключ сервера ограниченный доступ к какому-либо элементу управления? Это дает мне ошибку 500.

0

Решение

Вы, безусловно, можете использовать Google Cloud Storage (GCS) от Google Compute Engine (GCE). Вы найдете, что это один из самых быстрых способов доступа к GCS. Однако вы не можете получить доступ к GCS, используя те же PHP-библиотеки App Engine, когда вы не используете App Engine.

Каноническая клиентская библиотека для использования PHP из сред, отличных от AppEngineis Клиентская библиотека Google API для PHP. Вы можете найти демонстрации и руководства по доступу к GCS с этой библиотекой здесь: https://cloud.google.com/storage/docs/json_api/v1/json-api-php-samples

Как второй вариант, новый gcloud-PHP Проект имеет базовую поддержку GCS.

Наконец, в качестве третьего варианта, общедоступные API-интерфейсы для прямого доступа к GCS с помощью HTTP-запросов хорошо документированы и очень хорошо работают от GCE.

1

Другие решения

Других решений пока нет …