Я смотрю на этот репозиторий и очень смущен тем, что здесь происходит: https://github.com/GoogleCloudPlatform/deploymentmanager-samples/tree/master/examples/v2/cloud_functions
В других примерах Deployment Manager я вижу, что "тип" установлен на тип развертываемого ресурса, но в этом примере ясмотрите это:
resources:
- name: function
type: cloud_function.py # why not "type: cloudfunctions"?
properties:
# All the files that start with this prefix will be packed in the Cloud Function
codeLocation: function/
codeBucket: mybucket
codeBucketObject: function.zip
location: us-central1
timeout: 60s
runtime: nodejs8
availableMemoryMb: 256
entryPoint: handler
«тип» указывает на скрипт python (cloud_function.py) вместо типа ресурса. Сценарий содержит более 100 строк и выполняет целый ряд задач.
Это похоже на хак, как на скриптинг API GCP? Причина, по которой я бы хотел использовать что-то вроде диспетчера развертывания, заключается в том, чтобы избежать путаницы сценариев развертывания, но это выглядит более спагетти
Разве Диспетчер развертывания не поддерживает функции облака, и это обходной путь иликак это должно работать? Документы для этого примера плохие, поэтому я не знаю, что происходит
Кроме того, я хочу развернуть несколько функций в одном стеке диспетчера развертывания - придется редактировать скрипт cloud_function.py
или я могу просто определить несколько ресурсов ивсе они указывают на один и тот же сценарий?
РЕДАКТИРОВАТЬ Я также не понимаю, для чего нужны эти два импорта в верхней части cloud_function.yaml:
imports:
# The function code will be defined for the files in function/
- path: function/index.js
- path: function/package.json
Почему он импортирует фактическийкод функции ее развертывания?