Я хотел развернуть облачную функцию со скриптом python, имеющим некоторые параметры, используя CLI. И я хочу использовать переменные окружения в качестве параметров для моего скрипта
main.py
from sub import txn as cust
def func():
sub.cust()
main.py импорт sub .py . sub.py загрузка строк в таблицу bq, и мне нужно передать имя таблицы, набор данных и проецировать параметры в файл sub.py .
sub.py
from google.cloud import bigquery
from google.oauth2 import service_account
some stuff(generating random data and loading into BQ table)
dataset_ref = client.dataset(os.environ['DATASET'], os.environ['PROJECT'])
table_ref = dataset_ref.table(os.environ['TABLE'])
table = client.get_table(table_ref)
переменные env:
DATASET='database'
PROJECT='project'
TABLE ='table'
И я следил за документацией Google здесь ссылка , но не удалось успешно развернуть его, указав аргументы командной строки
gcloud functions deploy func --runtime python37 --trigger-http --allow-unauthenticated --region asia-northeast1 --set-env-vars DATASET=dataset,TABLE=table,PROJECT=project
Структура моей папки соответствует
.env.yaml
cloubbuild.yaml
requirements
main.py
sub.py
I ' получаю эту ошибку:
ОШИБКА: (gcloud.functions.deploy) OperationError: code = 3, message = Функция не удалась при загрузке кода пользователя. Сообщение об ошибке: файл main.py, как ожидается, будет содержать функцию с именем fun c
Любая помощь приветствуется.