gpt4 book ai didi

kubernetes - 如何从 Kubernetes Helm 函数返回复杂(dict)值?

转载 作者:行者123 更新时间:2023-12-05 02:32:39 28 4
gpt4 key购买 nike

我想从 Helm 函数返回一个复杂的值(dict),以便我可以在模板或其他函数中做进一步的处理。

我定义了这个函数:

{{- define "return-dict-function" -}}
key1: value1
key2: value2
{{- end -}}

我可以在我的模板中输出函数值:

{{ include "return-dict-function" . | nindent 2 }}

但是我怎样才能对数据做进一步的处理呢?

最佳答案

有几种解决方案可以返回复数并进行进一步处理:

1) 函数返回纯yaml

从问题中获取示例函数 return-dict-function。如果你使用 fromYaml 你会得到一个 dict:

{{ $dict := include "return-dict-function" . | fromYaml }}
type: {{ $dict | typeOf }}
{{- range $key, $value := $dict }}
simple-function-{{ $key }} : processed-value-{{ $value }}
{{- end -}}

输出:

type: map[string]interface {}
simple-function-key1 : processed-value-value1
simple-function-key2 : processed-value-value2

2) 函数需要返回dict

a) 序列化为json

如果你有一个应该返回的字典,你可以用 toJson 序列化字典

{{- define "return-dict-function-json" -}}
{{- $result := dict "key1" "value1" "key2" "value2" }}
{{- $result | toJson -}}
{{- end -}}

稍后您将使用 fromJson 反序列化

{{ $dict := include "return-dict-function-json" . | fromJson }}
{{- range $key, $value := $dict }}
json-function-{{ $key }} : processed-value-{{ $value }}
{{- end -}}

b) 序列化为 yaml

您还可以使用 toYaml 序列化字典

{{- define "return-dict-function-yaml" -}}
{{- $result := dict "key1" "value1" "key2" "value2" }}
{{- $result | toYaml -}}
{{- end -}}

然后你需要用fromYaml反序列化

{{ $dict := include "return-dict-function-yaml" . | fromYaml }}
{{- range $key, $value := $dict }}
yaml-function-{{ $key }} : processed-value-{{ $value }}
{{- end -}}

注释和进一步阅读

关于kubernetes - 如何从 Kubernetes Helm 函数返回复杂(dict)值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71172609/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com