Во-первых, обратите внимание, что хранилище данных и облачное хранилище - это два разных продукта с двумя разными методами доступа.
хранилище данных тесно связано с проектом GAE - каждый проект имеет свое собственное хранилище данных.Процедура внешнего доступа в целом описана в Как использовать хранилище данных Google для моего веб-приложения, которое НЕ размещено в движке приложений Google? .
При переключении проекта (подготовка к производству вваш случай) необходимо помнить 2 вещи:
, как вы заметили, вам нужно изменить проект, к которому вы обращаетесь.
вам также необходимо изменить учетные данные, которые вы загружаете и используете для доступа, в соответствии с выбранным вами проектом, поскольку каждый проект имеет свой собственный ключ учетной записи службы, настроенный в вышеупомянутой процедуре
Дляв библиотеке google-cloud-datastore
оба эти параметра одновременно настраиваются с помощью параметров вызова datastore.Client()
(выделено мое):
, класс google.cloud.datastore.client.Client ( проект = нет , пространство имен = нет, учетные данные = нет , _http = нет, _use_grpc = нет)
- проект (строка)- (Необязательно) Проект для передачи в прокси-методы API.
- учетные данные (учетные данные) - (необязательно) учетные данные OAuth2 для использования с этим клиентом.Если не передано (и если объект _http не передан), возвращается к значению по умолчанию, выведенному из среды.
Облачное хранилище полностью не зависит от GAE, проект / учетные данные GAE выиспользование (если есть) не имеет никакого отношения к ограничениям доступа к корзине / объекту.С точки зрения библиотеки google-cloud-storage
при переключении с одного проекта GAE на другой вам ничего не нужно делать
Чтобы избежать путаницы, создаваемой несколькими проектами с одинаковыми именами, просто перейдите в Настройки IAM & adminНа странице выберите соответствующие проекты в раскрывающемся списке на верхней синей панели и переименуйте их, используя значимые имена (нажмите на поле Project name
, чтобы изменить имя, затем нажмите SAVE
).Затем еще раз проверьте, используете ли вы нужные ключи для нужного проекта.