Есть ли у Deployment Manager поддержка облачных функций (и поддержка нескольких облачных функций)? - PullRequest
0 голосов
/ 09 октября 2019

Я смотрю на этот репозиторий и очень смущен тем, что здесь происходит: 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

Почему он импортирует фактическийкод функции ее развертывания?

1 Ответ

1 голос
/ 09 октября 2019

Менеджер развертывания просто взаимодействует с различными API-интерфейсами Google. Эта документация предоставляет список поддерживаемых типов ресурсов администратором развертывания. Я бы порекомендовал вам запустить эту команду «gcloud deploy-manager types list |grep function », и вы обнаружите, что этот тип ресурса« cloudfunctions.v1beta2.function »также поддерживается DM.

В шаблоне используется gcp-type (то есть в бета-версии). Cloud_functions.py - это шаблон . Если вы используете шаблон, вы можете повторно использовать его для нескольких ресурсов, вы можете увидеть это пример . Для лучшего понимания, чтобы легче было читать / следовать, вы можете проверить этот пример облачных функций через gcp-type.

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