Внутренняя ошибка сервера Google Cloud Storage 500 - PullRequest
0 голосов
/ 08 декабря 2018

SettingsController.php :

    namespace App\Controllers;

    use Google\Cloud\Storage\StorageClient;

    class SettingsController extends Controller {

        public function createBucket($request, $response) {
            $projectId = 'myProjectId'; //here I specified my projectId 

            $storage = new StorageClient([
                'projectId' => $projectId
            ]);

            $bucketName = 'socnetfilestestkekdsfa213kfh34';
            $bucket = $storage->createBucket($bucketName);
        }
     }

Итак, я написал этот код в соответствии с документацией, но я всегда получаю 500 Ошибка сети.

Это мой index.php :

<?php
require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../config/db.php';

$app = new \Slim\App(['settings' => $config]);

require __DIR__ . '/../app/dependencies.php';
require __DIR__ . '/../app/routes.php';

$app->run();

И это моя структура проекта:

backend project structure

1 Ответ

0 голосов
/ 09 декабря 2018

Наконец-то я решил проблему.Как я уже говорил, require __DIR__ . '/../vendor/autoload.php'; было правильно.В моем случае причиной 500 Ошибка была переменная окружения.Для развернутого приложения вы должны добавить свой сервисный ключ учетной записи Google Cloud config.json в ваш проект.Я положил свой в папку конфигурации (проверьте структуру моего проекта выше).Это означает, что в настройках Heroku мне нужно указать GOOGLE_APPLICATION_CREDENTIALS: .. / config / yourAppName.json

Спасибо этой статье: https://medium.com/@naz_islam/how-to-authenticate-google-cloud-services-on-heroku-for-node-js-app-dda9f4eda798

...