проблема с авторизацией в Python Firestore

В C или C ++ локальные объекты обычно выделяются в стеке. Вы выделяете большой массив в стеке, больше, чем может обрабатывать стек, поэтому вы получаете stackoverflow.

Не выделяйте его локально в стеке, используйте некоторые другие вместо этого. Этого можно достичь либо путем создания объекта global , либо выделения его в глобальной куче . Глобальные переменные прекрасны, если вы не используете их из любой другой единицы компиляции. Чтобы убедиться, что это не происходит случайно, добавьте спецификатор статического хранилища, иначе просто используйте кучу.

Это будет выделяться в сегменте BSS, который является частью кучи:

static int c[1000000];
int main()
{
   cout << "done\n";
   return 0;
}

Это будет выделяться в сегменте DATA, который также является частью кучи:

int c[1000000] = {};
int main()
{
   cout << "done\n";
   return 0;
}

Это будет выделяться в каком-то неуказанном месте в куче:

int main()
{
   int* c = new int[1000000];
   cout << "done\n";
   return 0;
}

1
задан Frank van Puffelen 1 March 2019 в 15:37
поделиться

1 ответ

Вам необходимо загрузить ключ учетной записи службы (файл JSON), а затем установить переменную среды GOOGLE_APPLICATION_CREDENTIALS, чтобы она указывала на этот файл на вашем устройстве.

credential_path = "D:\****.json"
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path

Не забудьте импортировать библиотеку os по import os

. См. https://cloud.google.com/firestore/docs/quickstart-servers для более подробная информация.

0
ответ дан Mahrez BenHamad 1 March 2019 в 15:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: