Развертывание стандартной среды Google Cloud Appengine с использованием Admin API: не удается найти ошибку импорта

Я пытаюсь развернуть простое приложение "hello world" в стандарте Appengine - среда Go. Есть один исходный файл hello.go с одним импортом "google.golang.org/appengine".

Я следил за документацией, здесь, чтобы использовать Admin API для развертывания . Но у меня возникла ошибка «не могу найти import: google.golang.org/appengine», когда я проверил статус развертывания.

Поэтому я загрузил папку библиотеки google.golang.org в облачное хранилище, но документация, похоже, показывает только, как включать отдельные файлы отдельно от корзин GCS, что невозможно для больших импортированных библиотек.

Я знаю, что все это будет работать с «развертыванием приложения gcloud», но мне нужно использовать Admin API и стандартную среду.

  • Есть ли способ сказать Appengine, чтобы он «получил» импортированные библиотеки?
  • Есть ли способ включить папки (а не отдельные файлы) из корзины GCS в файлы конфигурации развертывания?

person conundrum    schedule 04.09.2018    source источник
comment
Я так понимаю, вы получили google.golang.org/appengine, не могли бы вы проверить, пуст ли каталог gopath облачного SDK? В таком случае ссылка с аналогичной ошибкой может помочь вам b.corp.google .com / issues / 111017406 # comment6. Этот вопрос stackoverflow.com/questions/43744415/ тоже может быть связано.   -  person Temu    schedule 05.09.2018
comment
Спасибо за ответ. Я использую Admin API для развертывания в стандартной среде, а не с gcloud. Поэтому я не могу получить google.golang.org/appengine. Мне нужно загрузить свои исходные файлы в корзину, а затем указать эти файлы в файле конфигурации развертывания.   -  person conundrum    schedule 05.09.2018
comment
Понятно, я пытаюсь это воспроизвести. Насколько я понимаю, вы импортируете это как import google.golang.org/appengine   -  person Temu    schedule 05.09.2018
comment
Спасибо. Код точно такой же, как в github.com/GoogleCloudPlatform/golang-samples. / tree / master /   -  person conundrum    schedule 05.09.2018
comment
Для всех, кто наткнулся на этот пост, похоже, что app.json должен перечислить каждый файл в разделе развертывания - нет способа развертывать папки. Рекомендуемый способ - написать сценарий для создания файла app.json.   -  person conundrum    schedule 06.09.2018
comment
Вы правы, этот код отлично работает с развертыванием приложения gcloud, но не с Admin API ...   -  person Temu    schedule 07.09.2018


Ответы (1)


Развертывание работает с gcloud, потому что библиотека appengine присутствует в вашем GOPATH. gcloud получает их оттуда.

В случае развертывания с использованием Admin API, чтобы не включать по одному для всех файлов из ваших библиотек, пакеты должны присутствовать в Google Cloud Storage для ZIP-развертывание или вы можете использовать Cloud Source Repositories, создайте его с помощью CREATE call, а затем развернуть его из контейнера с помощью Образ Cloud Build.

person Temu    schedule 12.09.2018