Я смотрю на этот пример, который использует диспетчер развертывания для развертывания облачной функции: https://github.com/GoogleCloudPlatform/deploymentmanager-samples/tree/master/examples/v2/cloud_functions
Одна из вещей, которая делает это громоздким и не очень удобным, это то, что он требует явного импорта КАЖДОГО файла вфункция:
imports:
- path: cloud_function.py
# The function code will be defined for the files in function/
- path: function/index.js
- path: function/package.json
Нельзя допускать добавления к этому каждый раз, когда появляется новый файл. Диспетчер развертывания также не поддерживает подстановочные знаки.
Как программно импортировать файлы?
Это часть cloud_function.py, которая ссылается на импортированные файлы, я пытался просто использовать строку, но кажется, что импорт на самом деле где-то копирует файлы? Как мне сделать это программно, чтобы мне не нужно было явно определять каждый отдельный файл?
files = ["function/index.js","function/package.json"] # this does not work if these files have not been declared via "import"
#for imp in ctx.imports:
for imp in files:
if imp.startswith(ctx.properties['codeLocation']):
zip_file.writestr(imp[len(ctx.properties['codeLocation']):],
ctx.imports[imp])