Deployment Manager 是否支持 Cloud Functions(并支持拥有多个云函数)?
Does Deployment Manager have Cloud Functions support (and support for having multiple cloud functions)?
我正在查看这个 repo,对这里发生的事情感到非常困惑: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 行,做了一大堆东西。
这看起来像是黑客攻击,就像它只是编写 GCP API 脚本一样?我想使用 Deployment Manager 之类的东西的原因是为了避免部署脚本混乱,但这看起来更像是意大利面条。
Deployment Manager 是否不支持 Cloud Functions,这是一个棘手的解决方法,还是它应该如何工作?这个例子的文档很糟糕,所以我不知道发生了什么
此外,我想将多个功能部署到单个 Deployment Manager 堆栈中 - 必须编辑 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
为什么要导入它正在部署的函数的实际代码?
部署管理器仅与不同类型的 Google API 交互。 documentation 为您提供部署管理器支持的资源类型列表。我建议您 运行 这个命令“gcloud deployment-manager types list | grep function”,你会发现DM也支持这种“cloudfunctions.v1beta2.function”资源类型。
模板正在通过 gcp-type 使用 gcp-type (that is in beta).The cloud_functions.py is a template. If you use a template, you can reuse it for multiple resources, you can this see example. For better understanding, easier to read/follow you can check this example 云函数。
我想补充 Aarti S 的答案,gcloud deployment-manager types list | grep function
对我不起作用,因为我发现 how to all list of resource types, including resources that are in alpha:
gcloud beta deployment-manager types list --project gcp-types
或者 gcloud beta deployment-manager types list | grep function
有帮助。
我正在查看这个 repo,对这里发生的事情感到非常困惑: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 行,做了一大堆东西。
这看起来像是黑客攻击,就像它只是编写 GCP API 脚本一样?我想使用 Deployment Manager 之类的东西的原因是为了避免部署脚本混乱,但这看起来更像是意大利面条。
Deployment Manager 是否不支持 Cloud Functions,这是一个棘手的解决方法,还是它应该如何工作?这个例子的文档很糟糕,所以我不知道发生了什么
此外,我想将多个功能部署到单个 Deployment Manager 堆栈中 - 必须编辑 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
为什么要导入它正在部署的函数的实际代码?
部署管理器仅与不同类型的 Google API 交互。 documentation 为您提供部署管理器支持的资源类型列表。我建议您 运行 这个命令“gcloud deployment-manager types list | grep function”,你会发现DM也支持这种“cloudfunctions.v1beta2.function”资源类型。
模板正在通过 gcp-type 使用 gcp-type (that is in beta).The cloud_functions.py is a template. If you use a template, you can reuse it for multiple resources, you can this see example. For better understanding, easier to read/follow you can check this example 云函数。
我想补充 Aarti S 的答案,gcloud deployment-manager types list | grep function
对我不起作用,因为我发现 how to all list of resource types, including resources that are in alpha:
gcloud beta deployment-manager types list --project gcp-types
或者 gcloud beta deployment-manager types list | grep function
有帮助。