Я занимаюсь обновлением моего приложения golang AppEngine с Go v1.9 до Go v1.12. Как часть этого, я заменяю специфичные для приложения пакеты для доступа к хранилищу данных стандартной клиентской библиотекой хранилища данных GCP.
Теперь, когда я запускаю свой код, любой вызов для получения или установки данных в хранилище данных зависает с помощьюНет ошибки. В попытке отладки я добавил тайм-аут в контекст;Когда время ожидания истекает, я получаю сообщение об ошибке "latest connection error: connection error: desc = "transport: Error while dialing dial tcp: address true: missing port in address"
Я подумал, что это может быть связано с необходимостью создания учетной записи службы, поэтому я выполнил следующие действия: Режим хранилища данных Клиентские библиотеки , но это не решило проблему. Я также пытался вызвать gcloud auth activate-service-account --key-file google-creds.json
из командной строки, но это также, похоже, не дало результата.
Есть идеи, что я делаю неправильно? Вот фрагмент доступа к хранилищу данных из приложения
client, err := datastore.NewClient(tctx, "my-project-id")
if err != nil {
log.Panic("Error creating datastore client: ", err)
}
q = datastore.NewQuery("Project").Order("-LastUpdated")
_, err := client.GetAll(tctx, q, &projects)
if err != nil {
log.Panicf("Error getting all projects: %v", err)
return
}