Saya mencoba membuat instance Istio sebagai berikut:

apiVersion: "config.istio.io/v1alpha2"
kind: instance
metadata:
  name: accesslog
  namespace: istio-system
spec:
  compiledTemplate: logentry
  params:
    severity: '"Default"'
    timestamp: request.time
    variables:
      sourceIp: source.ip | ip("0.0.0.0")
      sourceLabels: source.labels | map[""]""
      requestPath: request.path | ""

Saya telah mencoba beberapa varian untuk peta kosong map[""]"" seperti map[string]string atau map[string]string{}{} tetapi tidak ada yang diterima. Dokumentasi yang saya baca juga tidak memiliki contoh pengaturan peta kosong. Bagaimana cara mendeklarasikan peta kosong?

0
Pauline 8 Agustus 2019, 15:27

1 menjawab

Jawaban Terbaik

Ditemukan dalam dokumentasi: https://istio.io/ docs/reference/config/policy-and-telemetry/expression-language/

emptyStringMap - Create an empty string map

Contoh penggunaan: request.headers | emptyStringMap()

apiVersion: "config.istio.io/v1alpha2"
kind: instance
metadata:
  name: accesslog
  namespace: istio-system
spec:
  compiledTemplate: logentry
  params:
    severity: '"Default"'
    timestamp: request.time
    variables:
      sourceIp: source.ip | ip("0.0.0.0")
      sourceLabels: source.labels | emptyStringMap()
      requestPath: request.path | ""
1
Pauline 8 Agustus 2019, 16:53