red*_*888 5 google-cloud-platform google-cloud-functions google-deployment-manager
我正在查看这个存储库,对这里发生的事情感到非常困惑: https: //github.com/GoogleCloudPlatform/deploymentmanager-samples/tree/master/examples/v2/cloud_functions
在其他部署管理器示例中,我看到“类型”设置为正在部署的资源类型,但在本示例中我看到:
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
Run Code Online (Sandbox Code Playgroud)
“type”指向Python脚本(cloud_function.py)而不是资源类型。该脚本有 100 多行长,并且做了很多事情。
这看起来像是黑客攻击,就像它只是编写 GCP API 脚本一样?我想要使用部署管理器之类的东西的原因是为了避免混乱的部署脚本,但这看起来更像是意大利面条。
部署管理器是否不支持云功能,这是一个黑客解决方法,还是它应该如何工作?这个例子的文档很糟糕,所以我不知道发生了什么
另外,我想将多个功能部署到单个部署管理器堆栈中 - 必须编辑脚本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
Run Code Online (Sandbox Code Playgroud)
为什么它要导入正在部署的函数的实际代码?
小智 6
部署管理器只需与不同类型的 Google API 进行交互。本文档为您提供了部署管理器支持的资源类型的列表。我建议您运行此命令 \xe2\x80\x9cgcloud 部署管理器类型列表 | grep function\xe2\x80\x9d ,你会发现 DM 也支持这个 \xe2\x80\x9ccloudfunctions.v1beta2.function\xe2\x80\x9d 资源类型。
\n\n该模板使用gcp 类型(处于测试版)。cloud_functions.py 是一个模板。如果您使用模板,则可以将其重用于多个资源,您可以参见示例。为了更好地理解,更容易阅读/遵循,你可以检查这个通过 gcp-type 查看此云函数示例。
\n| 归档时间: |
|
| 查看次数: |
1948 次 |
| 最近记录: |