嗨,我们在 values.yaml 中有 listenerProcessor 数组,如下所示
listenerProcessor:
- name: "nbi-sbi"
port: 99
allowedPath:
- "/sbi/test"
- "/sbi/test123"
为此,我们需要合并我们预定义的一组 listenerProcessor 数组,该数组未通过 values.yaml 公开,如下所示
listenerProcessor:
- name: nbinorc
port: 9910
allowedPath:
- /nbi/norc/tmf641/v4/orders/
- /nbi/norc/tmf645/v4/serviceQualification
- name: nbiuiv
port: 9920
allowedPath:
- /nbi/uiv/tmf640/v4/services/
所以要将这两个合并为单个属性并对其进行迭代,在 _helper.tpl 中定义了一个变量
{{- define "nifi.listener-processor.spec" -}}
listenerProcessor:
- name: nbinorc
port: 9910
allowedPath:
- /nbi/norc/tmf641/v4/orders/
- /nbi/norc/tmf645/v4/serviceQualification
- name: nbiuiv
port: 9920
allowedPath:
- /nbi/uiv/tmf640/v4/services/
{{ toYaml .Values.listenerProcessor.ports }}
{{- end -}}
现在我需要在 NOTES.txt 中的.name和.port上对其进行迭代,但它给出了错误“<.name>: can't evaluate field name in type interface {}”。在 NOTES.txt 我有这个
{{- $listenerProcessor := (include "nifi.listener-processor.spec" . ) }}
{{- range $index, $element := fromYaml $listenerProcessor }}
{{ .name }}
{{ .port }}
{{- end }}
当我只打印$element & $index这些值时,它显示在输出下方
NOTES:
$NIFI_CONF_DIRECTORY_PATH/extensions directory"
[map[allowedPath:[/nbi/norc/tmf641/v4/orders/ /nbi/norc/tmf645/v4/serviceQualification] name:nbinorc port:9910] map[allowedPath:[/nbi/uiv/tmf640/v4/services/] name:nbiuiv port:9920] map[allowedPath:[/sbi/test /sbi/test123] name:nbi-sbi port:99]]
监听处理器