Развертывание Google Cloud Function с использованием модулей Go и продавцов одновременно - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь развернуть облачную функцию Google в Go , но при развертывании произошла ошибка, поскольку я одновременно использую подпакеты и"внутренние модули" (только определено на моем хосте, нигде не развернуто). У меня есть следующая структура:

.
├── function
│   ├── package1
│   │   └── file1.go
│   ├── function.go
│   ├── go.mod
│   └── go.sum
└── common
    ├── common.go
    ├── go.mod
    └── go.sum

Содержимое моего function.go (точка входа в мою облачную функцию):

package function

import (
    "github.com/.../function/package1"
    "github.com/.../common"
)

// use functions from package1 and common

Темы были рассмотрены здесь индивидуально:

Первая запись указывает на использование vendoring и исключает go.mod и go.sum из источника, чтобы иметь возможность использовать модуль common, в то время как вторая запись указывает на включение go.mod и go.sum без поставщика, чтобы иметь возможность использовать подпакеты.

Но мне интересно: возможно ли использовать оба одновременно? Или в зависимости от поставщика требуется поместить все исходные файлы .go в один каталог (без подпакетов)? Аналогично, использование подпакетов требует не использовать вендоринг? Как я могу структурировать свой код, чтобы избежать этих ограничений, или что я могу сделать (развернуть модуль common где-нибудь, ...)?

Кроме того, в документации "Определение зависимостей" для функций Go Cloud указано, что:

Облачные функции в Go должны предоставлять все свои зависимости через или Go-модули с файлом go.mod или каталогом поставщика. Ваша функция не может указывать зависимости, используя одновременно модули Go и каталог поставщика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...