Эмулятор хранилища данных Google Cloud - при запуске бета-версии эмуляторов gcloud не удается создать local_db.bin
У меня установлен Google Cloud SDK под Windows, и я запускаю команды в Powershell (работает от имени администратора).
Я выполнил следующее, чтобы убедиться, что все мои компоненты Google Cloud SDK обновлены:
gcloud component update
Затем я устанавливаю домен хоста эмулятора хранилища данных и идентификатор проекта следующим образом:
set DATASTORE_EMULATOR_HOST=localhost:8081
set DATASTORE_PROJECT_ID=project-id
Затем я запускаю эмулятор режима облачного хранилища данных Google с помощью следующей команды:
gcloud beta emulators datastore start
Это предназначено для создания файла local_db.bin
, что обеспечивает локальный доступ к данным. Когда я запускаю команду, я получаю сообщение в терминале (Powershell, работающий от имени администратора), что файл будет создан в следующем месте:
C: \ Users \ MyUserName\AppData\Roaming\gcloud\ эмуляторы \ хранилищу \WEB-INF\ AppEngine сгенерированных \local_db.bin
Файл не создается, и нет полезной информации об ошибке. Я сделал следующее:
- Проверил список учетных записей, доступных для gcloud SDK, используя
gcloud auth list
- Убедитесь, что я вошел в систему с использованием предполагаемой учетной записи, используя
gcloud auth login 'accountName'
и с помощью входа в Google
Как я могу получить дополнительную информацию о том, что является причиной ошибки? Что еще я мог попробовать?
1 ответ
local_db.bin
не удалось создать. Это просто указывает на то, что база данных пуста. Вы можете проверить, что все работает как положено, если вы откроете браузер и перейдете по http://localhost:8081/, когда сервер работает. Вы должны получить ok
сообщение как ответ.
Как указано в разделе "Запуск хранилища данных в режиме эмулятора> справочники каталогов данных эмулятора ": "Чтобы очистить содержимое файла local_db.bin, остановите эмулятор и удалите файл вручную.". Это означает, что таким образом вы очищаете все содержимое базы данных.
Я попробовал документацию и действительно файл local_db.bin
отсутствует в начале. Однако после добавления некоторых данных в базу данных файл был сгенерирован. Мне удалось это сделать, создав приложение Python на основе примеров Google GitHub.
ПРИМЕЧАНИЕ. Я бы также предложил запустить эмулятор внутри вашего собственного указанного каталога вместо каталога по умолчанию, чтобы вы могли убедиться, что у вас есть все разрешения для этого каталога. Например, для этого выполните следующие действия:
- Внутри рабочего стола создайте каталог с именем
Datastore_Emulator
- Выполните команду:
$ gcloud beta emulators datastore start --data-dir=C:\Users\[USERNAME]\Desktop\Datastore_Emulator\
- Это создаст пустой каталог
C:\Users\[USERNAME]\Desktop\Datastore_Emulator\WEB-INF\appengine-generated\
- Теперь создайте, например, скрипт Python, добавьте некоторые данные в базу данных и
local_db.bin
файл будет создан.
ОБНОВИТЬ
Документация, на которую вы ссылаетесь, команды под Windows
раздел для командной строки. &&
не поддерживается цепочка команд в Power shell, но вам нужно использовать ;
вместо. Обратитесь к этому ответу Stackru для получения дополнительной информации.
Также есть команда gcloud beta emulators datastore env-init > set_vars.cmd && set_vars.cmd
Power Shell не поддерживается, так как при его запуске могут возникнуть проблемы с set_vars.cmd
файл. В будущем предлагается использовать командную строку для выполнения команд, упомянутых в документации Google.