§

ਜੋ JSON ਜਾਂ YAML ਬਦਲਣਾ ਹੈ ਉਹ ਪੇਸਟ ਕਰੋ।

ਮੋਡ
ਇੰਡੈਂਟ
ਵਿਕਲਪ
§

ਆਉਟਪੁੱਟ

yaml

ਭਾਰਤ ਵਿੱਚ ਪਲੇਟਫਾਰਮ ਟੀਮਾਂ ਲਈ JSON ਅਤੇ YAML ਵਿੱਚ ਹੱਪ ਕਰਨਾ ਰੋਜ਼ਾਨਾ ਦਾ ਕੰਮ ਹੈ। Kubernetes ਮੈਨੀਫੈਸਟ YAML ਵਿੱਚ ਲਿਖੇ ਜਾਂਦੇ ਹਨ ਪਰ ਅੰਦਰੂਨੀ ਤੌਰ ਤੇ JSON ਵਜੋਂ ਖਪਾਏ ਜਾਂਦੇ ਹਨ। GitHub Actions ਵਰਕਫਲੋ YAMLs, OpenAPI 3 ਸਪੈਸੀਫਿਕੇਸ਼ਨਾਂ, AWS CloudFormation ਟੈਮਪਲੇਟ, ਅਤੇ Helm ਚਾਰਟ ਸਾਰੇ ਦੋਵੇਂ ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਝੁਕਦੇ ਹਨ।

JSON ↔ YAML ਬਦਲਾਅ ਕੀ ਹੈ?

JSON (JavaScript Object Notation, RFC 8259) ਸੰਰਚਿਤ ਡੇਟਾ ਲਈ ਇੱਕ ਸਖ਼ਤ, ਬ੍ਰੇਸ-ਸੀਮਿਤ ਟੈਕਸਟ ਫਾਰਮੈਟ ਹੈ; YAML (YAML Ain't Markup Language, ਵਰਜ਼ਨ 1.2) JSON ਦਾ ਸੁਪਰਸੈੱਟ ਹੈ ਜੋ ਇੱਕੋ ਮੁੱਲ ਮਾਡਲ ਲਈ ਇੰਡੈਂਟੇਸ਼ਨ, ਲਾਈਨ ਬ੍ਰੇਕ, ਅਤੇ ਮਨੁੱਖ-ਪੜ੍ਹਨਯੋਗ ਸਿੰਟੈਕਸ ਵਰਤਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਵਿੱਚ ਬਦਲਾਅ ਇੱਕੋ ਕਾਨਫਿਗਰੇਸ਼ਨ ਨੂੰ ਮਸ਼ੀਨ-ਅਨੁਕੂਲ (JSON) ਅਤੇ ਮਨੁੱਖ-ਅਨੁਕੂਲ (YAML) ਰੂਪ ਵਿੱਚ ਲੈਣ ਦਿੰਦਾ ਹੈ।

JSON ↔ YAML ਬਦਲਾਅ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ?

ਹਰ ਬਦਲਾਅ ਬੰਡਲਡ js-yaml ਲਾਇਬ੍ਰੇਰੀ ਵਰਤ ਕੇ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਲੋਕਲੀ ਚੱਲਦਾ ਹੈ। ਉੱਚ-ਪੱਧਰੀ ਕਦਮ:

  1. ਮੋਡ ਸਿਲੈਕਟਰ (ਆਟੋ-ਡਿਟੈਕਟ / JSON → YAML / YAML → JSON) ਫੈਸਲਾ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜੀ ਪਾਈਪਲਾਈਨ ਚੱਲਦੀ ਹੈ। ਆਟੋ-ਡਿਟੈਕਟ ਮੋਡ ਵਿੱਚ ਇਨਪੁੱਟ ਦਾ ਪਹਿਲਾ ਗੈਰ-ਵ੍ਹਾਈਟਸਪੇਸ ਅੱਖਰ ਦਿਸ਼ਾ ਚੁਣਦਾ ਹੈ — { ਜਾਂ [ ਦਾ ਮਤਲਬ JSON ਹੈ; ਹੋਰ ਕੁਝ ਵੀ ਮਤਲਬ YAML ਹੈ।
  2. JSON → YAML: JSON.parse ਇਨਪੁੱਟ ਜਾਂਚਦਾ ਹੈ ਅਤੇ ਇੱਕ JavaScript ਮੁੱਲ ਤਿਆਰ ਕਰਦਾ ਹੈ; jsyaml.dump(value, { indent, lineWidth: -1, sortKeys: false }) YAML 1.2 ਰੂਪ ਲਿਖਦਾ ਹੈ। ਮਲਟੀ-ਦਸਤਾਵੇਜ਼ ਚਾਲੂ ਹੋਣ ਨਾਲ, ਇਨਪੁੱਟ ਐਰੇ ਦਾ ਹਰ ਤੱਤ ਆਪਣੇ ਦਸਤਾਵੇਜ਼ ਵਜੋਂ ਛੱਡਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ --- ਵੱਖਰੇਵੇਂ ਨਾਲ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ।
  3. YAML → JSON: jsyaml.loadAll ਇਨਪੁੱਟ ਵਿੱਚ ਹਰ ਦਸਤਾਵੇਜ਼ ਪਾਰਸ ਕਰਦਾ ਹੈ (--- ਵੱਖਰੇਵੇਂ ਆਟੋਮੈਟਿਕ ਸੰਭਾਲਦਾ ਹੈ); ਸਿੰਗਲ-ਦਸਤਾਵੇਜ਼ ਇਨਪੁੱਟ ਖੋਲ੍ਹੇ ਜਾਂਦੇ ਹਨ।
  4. ਇੰਡੈਂਟ (2 ਜਾਂ 4 ਸਪੇਸ) ਅਤੇ ਪ੍ਰੀਟੀ-ਪ੍ਰਿੰਟ ਕਨਫਿਗਰਯੋਗ ਹਨ। ਪ੍ਰੀਟੀ-ਪ੍ਰਿੰਟ ਬੰਦ ਨਾਲ JSON.stringify(value) ਰਾਹੀਂ ਮਿਨੀਫਾਈਡ JSON ਛੱਡਦਾ ਹੈ।
  5. ਆਉਟਪੁੱਟ ਰੀਡ-ਓਨਲੀ ਟੈਕਸਟਏਰੀਆ ਵਿੱਚ ਲਿਖੀ ਜਾਂਦੀ ਹੈ। YAML ਪਾਰਸ ਅਸਫਲਤਾਵਾਂ ਉੱਤੇ, ਗਲਤੀ ਸੁਨੇਹੇ ਵਿੱਚ js-yaml ਦੇ e.mark ਦੁਆਰਾ ਰਿਪੋਰਟ ਕੀਤੀ 1-ਇੰਡੈਕਸਡ ਲਾਈਨ ਅਤੇ ਕਾਲਮ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ ਤਾਂ ਜੋ ਤੁਸੀਂ ਸਿੱਧਾ ਬੱਗ ਉੱਤੇ ਛਾਲ ਮਾਰ ਸਕੋ।

ਇਸ ਟੂਲ ਨਾਲ JSON ਅਤੇ YAML ਕਿਉਂ ਬਦਲੋ?

  • ਪ੍ਰਾਈਵੇਸੀ: ਹਰ ਪਾਰਸ, ਟ੍ਰਾਂਸਫਾਰਮ, ਅਤੇ ਐਮਿਟ ਪਾਸ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਹੁੰਦਾ ਹੈ। Kubernetes ਸੀਕਰੇਟ, ਸਾਈਨਡ JWTs, ਅਤੇ ਮਾਲਕੀਅਤ ਕਾਨਫਿਗ ਕਦੇ ਸਾਡੇ ਸਰਵਰਾਂ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਦੇ।
  • ਮਲਟੀ-ਦਸਤਾਵੇਜ਼ YAML: jsyaml.loadAll --- ਵੱਖਰੇਵਿਆਂ ਨੂੰ ਪਛਾਣਦਾ ਹੈ ਅਤੇ ਦਸਤਾਵੇਜ਼ਾਂ ਦੀ ਇੱਕ ਐਰੇ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਜਿਸਨੂੰ ਕਨਵਰਟਰ ਸਿੰਗਲ-ਡਾਕ ਮਾਮਲਿਆਂ ਲਈ ਅਨਰੈਪ ਕਰਦਾ ਹੈ ਜਾਂ ਮਲਟੀ-ਡਾਕ ਮਾਮਲਿਆਂ ਲਈ ਇੱਕ JSON ਐਰੇ ਵਜੋਂ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।
  • ਐਂਕਰ ਅਤੇ ਅਲਿਆਸ ਹੱਲ ਕੀਤੇ: YAML ਦਾ &anchor / *alias ਵਿਧੀਵਤ js-yaml ਦੇ ਡਿਫੌਲਟ ਸਕੀਮਾ ਦੁਆਰਾ ਸੰਭਾਲਿਆ ਜਾਂਦਾ ਹੈ।
  • ਕੋਈ CDN ਨਹੀਂ, ਕੋਈ ਟੈਲੀਮੈਟਰੀ ਨਹੀਂ: js-yaml.min.js ਲਾਇਬ੍ਰੇਰੀ ਪੇਜ ਵਾਂਗੂ ਉਸੇ ਮੂਲ ਤੋਂ ਸ਼ਿਪ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਇਸ ਲਈ ਟੂਲ ਔਫਲਾਈਨ ਕੰਮ ਕਰਦਾ ਹੈ।

JSON ↔ YAML ਬਦਲਾਅ ਦੀਆਂ ਆਮ ਵਰਤੋਂ ਕੀ ਹਨ?

JSON ਅਤੇ YAML ਵਿੱਚ ਬਦਲਾਅ DevOps, ਪਲੇਟਫਾਰਮ ਇੰਜੀਨੀਅਰਿੰਗ, ਅਤੇ API ਟੂਲਿੰਗ ਵਿੱਚ ਦਿਖਦਾ ਹੈ:

  • Kubernetes ਮੈਨੀਫੈਸਟ: YAML Deployment, ConfigMap, ਜਾਂ HelmRelease ਨੂੰ JSON ਵਿੱਚ ਬਦਲਣਾ ਤਾਂ ਜੋ ਇਨ-ਹਾਊਸ ਪਾਲਿਸੀ ਵੈਲੀਡੇਟਰ ਇਸਨੂੰ ਪ੍ਰੋਗ੍ਰਾਮੇਟਿਕ ਤੌਰ ਤੇ ਲਿੰਟ ਕਰ ਸਕੇ।
  • CI/CD ਵਰਕਫਲੋਜ਼: GitHub Actions workflow.yml ਨੂੰ JSON ਰਾਹੀਂ ਰਾਊਂਡ-ਟ੍ਰਿਪ ਕਰਨਾ ਤਾਂ ਜੋ ਕੋਡ-ਜਨਰੇਟਰ ਮੈਟ੍ਰਿਕਸ ਜਾਂ ਜੌਬ ਡਿਪੈਂਡੈਂਸੀਆਂ ਮੁੜ-ਲਿਖ ਸਕੇ।
  • OpenAPI ਸਪੈੱਕ: ਬੈਕਐਂਡ ਦੇ ਆਟੋ-ਬਣਾਏ ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ JSON openapi.json ਪੇਸਟ ਕਰਨਾ ਅਤੇ ਰੇਪੋ ਵਿੱਚ ਚੈੱਕ-ਇਨ ਕੀਤੀ ਮਨੁੱਖ-ਸੰਪਾਦਿਤ ਹਵਾਲਾ ਲਈ openapi.yaml ਵਿੱਚ ਬਦਲਣਾ।

JSON ↔ YAML ਰਾਊਂਡ-ਟ੍ਰਿਪ ਉਦਾਹਰਣ ਕਿਵੇਂ ਦਿਖਦੀ ਹੈ?

{"apiVersion":"apps/v1","kind":"Deployment","metadata":{"name":"web"},"spec":{"replicas":3,"selector":{"matchLabels":{"app":"web"}}}} ਪੇਸਟ ਕਰਨਾ ਅਤੇ JSON → YAML ਮੋਡ ਵਿੱਚ CONVERT ਦਬਾਉਣਾ ਅੱਠ ਲਾਈਨਾਂ ਦੀ ਇੰਡੈਂਟਡ YAML ਪੈਦਾ ਕਰਦਾ ਹੈ ਜਿਸਦੀ ਪਹਿਲੀ ਲਾਈਨ ਉੱਤੇ apiVersion: apps/v1 ਹੁੰਦਾ ਹੈ। ਉਸ YAML ਨੂੰ Pretty-print ਚਾਲੂ ਨਾਲ YAML → JSON ਮੋਡ ਵਿੱਚ ਵਾਪਸ ਭੇਜਣਾ ਇੱਕ ਸਥਿਰ JSON.stringify(value, null, 2) ਤੋਂ ਬਾਅਦ ਅਸਲ ਆਬਜੈਕਟ ਨੂੰ ਬਾਈਟ-ਦਰ-ਬਾਈਟ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਕੁੰਜੀ ਕ੍ਰਮ ਸੁਰੱਖਿਅਤ ਨਾਲ ਕਿਉਂਕਿ js-yaml ਦਾ ਡਿਫੌਲਟ ਸਕੀਮਾ ਦੋਵਾਂ ਦਿਸ਼ਾਵਾਂ ਵਿੱਚ ਇਨਸਰਸ਼ਨ ਕ੍ਰਮ ਦਾ ਸਨਮਾਨ ਕਰਦਾ ਹੈ।

ਕੀ ਇਹ JSON ↔ YAML ਕਨਵਰਟਰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਮੇਰੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਚੱਲਦਾ ਹੈ?

ਹਾਂ। ਹਰ ਪਾਰਸ, ਟ੍ਰਾਂਸਫਾਰਮ, ਅਤੇ ਐਮਿਟ ਪਾਸ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਟੈਬ ਦੇ ਅੰਦਰ JavaScript ਵਜੋਂ ਲੋਕਲੀ ਚੱਲਦਾ ਹੈ। ਬੰਡਲਡ js-yaml ਲਾਇਬ੍ਰੇਰੀ ਪੇਜ ਵਾਂਗੂ ਉਸੇ ਮੂਲ (origin) ਤੋਂ ਸ਼ਿਪ ਕਰਦੀ ਹੈ — ਕੋਈ CDN ਨਹੀਂ, ਇਨਪੁੱਟ ਉੱਤੇ ਕੋਈ fetch ਨਹੀਂ, ਕੋਈ XMLHttpRequest ਨਹੀਂ, ਕੋਈ navigator.sendBeacon ਨਹੀਂ। ਟੂਲ ਪੇਜ ਲੋਡ ਹੋਣ ਤੋਂ ਬਾਅਦ ਔਫਲਾਈਨ ਵੀ ਕੰਮ ਕਰਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਇੱਕ ਸਟੈਟਿਕ HTML/CSS/JS ਬੰਡਲ ਹੈ ਜਿਸਦੇ ਨਾਲ ਵੈਂਡਰ ਲਾਇਬ੍ਰੇਰੀ ਕਾਪੀ ਕੀਤੀ ਹੋਈ ਹੈ। Kubernetes ਸੀਕਰੇਟ, JWT ਪੇਲੋਡ, ਸਾਈਨ ਕੀਤੇ CloudFormation YAML, ਅਤੇ ਮਾਲਕੀਅਤੀ ਕਾਨਫਿਗ ਤੁਹਾਡੇ ਡਿਵਾਈਸ ਉੱਤੇ ਰਹਿੰਦੇ ਹਨ।

ਕਨਵਰਟਰ ਮਲਟੀ-ਦਸਤਾਵੇਜ਼ YAML ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦਾ ਹੈ?

YAML ਇੱਕ ਸਟ੍ਰੀਮ ਵਿੱਚ ਕਈ ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਸਪੋਰਟ ਕਰਦਾ ਹੈ ਜੋ ਸਿਰਫ਼ --- ਰੱਖਣ ਵਾਲੀਆਂ ਲਾਈਨਾਂ ਨਾਲ ਵੱਖ ਕੀਤੇ ਹੁੰਦੇ ਹਨ। YAML → JSON ਉੱਤੇ ਕਨਵਰਟਰ jsyaml.loadAll ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ, ਜੋ ਹਰ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇੱਕ JavaScript ਮੁੱਲ ਵਜੋਂ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਜੇ ਠੀਕ ਇੱਕ ਦਸਤਾਵੇਜ਼ ਮਿਲਦਾ ਹੈ ਤਾਂ JSON ਆਉਟਪੁੱਟ ਸਿੱਧਾ ਉਹ ਦਸਤਾਵੇਜ਼ ਹੁੰਦਾ ਹੈ; ਜੇ ਦੋ ਜਾਂ ਵੱਧ ਮਿਲਦੇ ਹਨ ਤਾਂ JSON ਆਉਟਪੁੱਟ ਇੱਕ ਐਰੇ ਹੁੰਦੀ ਹੈ। JSON → YAML ਉੱਤੇ, ਜਦੋਂ ਇਨਪੁੱਟ ਇੱਕ JSON ਐਰੇ ਹੋਵੇ ਅਤੇ Multi-document ਟੌਗਲ ਚਾਲੂ ਹੋਵੇ, ਤਾਂ ਹਰ ਐਰੇ ਤੱਤ ਉਹਨਾਂ ਵਿਚਕਾਰ --- ਵੱਖਰੇਵਿਆਂ ਨਾਲ ਆਪਣੇ ਦਸਤਾਵੇਜ਼ ਵਜੋਂ ਛੱਡਿਆ ਜਾਂਦਾ ਹੈ — ਜੋ ਸਰੋਤਾਂ ਦੀ ਇੱਕ JSON ਐਰੇ ਤੋਂ ਇੱਕ kubectl apply-ਅਨੁਕੂਲ ਬੰਡਲ ਬਣਾਉਣ ਲਈ ਲਾਭਦਾਇਕ ਹੈ।

ਕੀ YAML ਐਂਕਰ ਅਤੇ ਅਲਿਆਸ ਸਪੋਰਟ ਹਨ?

ਹਾਂ — &anchor ਪਰਿਭਾਸ਼ਾਵਾਂ ਅਤੇ *alias ਹਵਾਲੇ ਲੋਡ ਕਦਮ ਦੌਰਾਨ js-yaml ਦੇ ਡਿਫੌਲਟ ਸਕੀਮਾ ਦੁਆਰਾ ਹੱਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। defaults: &d\n retries: 3\n timeout: 30\njob_a:\n <<: *d\njob_b:\n <<: *d ਵਰਗਾ ਇੱਕ YAML ਇਨਪੁੱਟ ਇੱਕ JSON ਆਬਜੈਕਟ ਵਿੱਚ ਪਾਰਸ ਹੁੰਦਾ ਹੈ ਜਿੱਥੇ job_a ਅਤੇ job_b ਦੋਵੇਂ retries: 3, timeout: 30 ਰੱਖਦੇ ਹਨ। ਮਰਜ਼ ਕੁੰਜੀ << (ਇੱਕ YAML 1.1 ਐਕਸਟੈਂਸ਼ਨ ਜਿਸਦਾ js-yaml ਹਾਲੇ ਵੀ ਸਨਮਾਨ ਕਰਦਾ ਹੈ) ਵੀ ਡਿਫੌਲਟ ਸਕੀਮਾ ਉੱਤੇ ਸਪੋਰਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।

ਕੀ YAML ਟਿੱਪਣੀਆਂ JSON ਵਿੱਚ ਅਤੇ ਵਾਪਸ ਬਦਲਣ ਵੇਲੇ ਸੁਰੱਖਿਅਤ ਰਹਿੰਦੀਆਂ ਹਨ?

ਨਹੀਂ — js-yaml ਪਾਰਸ ਕਦਮ ਦੌਰਾਨ ਟਿੱਪਣੀਆਂ ਹਟਾਉਂਦਾ ਹੈ, ਇਸ ਲਈ ਇੱਕ YAML → JSON → YAML ਰਾਊਂਡ-ਟ੍ਰਿਪ ਹਰ #-ਪ੍ਰੀਫਿਕਸਡ ਲਾਈਨ ਗੁਆ ਦੇਵੇਗੀ। ਇਹ ਲੋਡ/ਡੰਪ ਮਾਡਲ ਦੀ ਇੱਕ ਜਾਣੀ-ਪਛਾਣੀ ਸੀਮਾ ਹੈ; ਜੇ ਟਿੱਪਣੀ ਸੁਰੱਖਿਆ ਅਹਿਮ ਹੈ, ਤਾਂ js-yaml ਦੀ ਬਜਾਏ yaml npm ਪੈਕੇਜ ਵਰਗੀ ਟਿੱਪਣੀ-ਜਾਣਕਾਰ ਲਾਇਬ੍ਰੇਰੀ ਵਰਤੋ (ਜੋ ਟ੍ਰੀਵੀਆ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਣ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਇੱਕ CST + AST API ਸ਼ਿਪ ਕਰਦੀ ਹੈ)। ਜ਼ਿਆਦਾਤਰ ਕਾਨਫਿਗ-ਪਰਿਵਰਤਨ ਵਰਕਫਲੋਜ਼ ਲਈ ਇਹ ਅਦਲਾ-ਬਦਲੀ ਸਵੀਕਾਰਯੋਗ ਹੈ: ਰਾਊਂਡ-ਟ੍ਰਿਪ ਕੀਤੀ YAML ਹਰ ਕੁੰਜੀ, ਮੁੱਲ, ਐਂਕਰ, ਅਤੇ ਅਲਾਇਸ ਰੱਖਦੀ ਹੈ, ਬੱਸ ਮਨੁੱਖ ਦੁਆਰਾ ਲਿਖੀਆਂ ਟਿੱਪਣੀਆਂ ਤੋਂ ਬਿਨਾਂ।

ਕਸਟਮ YAML ਟੈਗਾਂ ਦਾ ਕੀ ਹੁੰਦਾ ਹੈ?

ਕਨਵਰਟਰ js-yaml ਦਾ DEFAULT_SCHEMA ਵਰਤਦਾ ਹੈ, ਜੋ !!str, !!int, !!float, !!bool, !!null, !!seq, !!map, !!binary, ਅਤੇ !!timestamp ਨੂੰ ਸਮਝਦਾ ਹੈ — YAML 1.2 ਕੋਰ ਅਤੇ JSON ਸਕੀਮਾਂ ਦਾ ਹਰ ਟੈਗ। ਕਸਟਮ ਜਾਂ ਐਪਲੀਕੇਸ਼ਨ-ਵਿਸ਼ੇਸ਼ ਟੈਗ (ਜਿਵੇਂ CloudFormation ਵਿੱਚ !Ref, Ansible ਵਿੱਚ !vault) ਪਛਾਣੇ ਨਹੀਂ ਜਾਂਦੇ ਅਤੇ ਅਣ-ਸਮਰਥਿਤ ਟੈਗ ਦਾ ਹਵਾਲਾ ਦਿੰਦੀ ਇੱਕ ਸਪੱਸ਼ਟ ਗਲਤੀ ਵਜੋਂ ਸਾਹਮਣੇ ਆਉਂਦੇ ਹਨ। ਖਾਸ ਤੌਰ 'ਤੇ CloudFormation ਲਈ, ਇਸ ਕਨਵਰਟਰ ਵਿੱਚ ਪੇਸਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕਸਟਮ ਟੈਗਾਂ ਨੂੰ ਫੈਲਾਉਣ ਲਈ aws cloudformation package + --output-template-file ਫਲੋ ਵਰਤੋ।

ਇਹ JSON ↔ YAML ਕਨਵਰਟਰ js-yaml@4.1.0 ਬੰਡਲਡ ਸ਼ਿਪ ਕਰਦਾ ਹੈ, ਮਲਟੀ-ਦਸਤਾਵੇਜ਼ ਸਟ੍ਰੀਮ ਅਤੇ ਐਂਕਰ/ਅਲਿਆਸ ਸਿੱਧੇ ਤੌਰ ਤੇ ਸਪੋਰਟ ਕਰਦਾ ਹੈ, ਅਤੇ YAML ਪਾਰਸ ਗਲਤੀਆਂ ਲਾਈਨ ਅਤੇ ਕਾਲਮ ਨਾਲ ਰਿਪੋਰਟ ਕਰਦਾ ਹੈ। ਕੋਈ ਅਪਲੋਡ ਨਹੀਂ, ਕੋਈ CDN ਨਹੀਂ, ਕੋਈ ਟੈਲੀਮੈਟਰੀ ਨਹੀਂ — ਹਰ ਬਾਈਟ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਰਹਿੰਦੀ ਹੈ।