YAML trung cấp

CI/CD cho Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Chuỗi nhiều dòng: Định dạng scalar khối

  • Biểu diễn chuỗi nhiều dòng hoặc khối văn bản
    • Đoạn mã (lệnh shell)
    • Đoạn văn (log)
    • Tệp cấu hình

Sơ đồ phân cấp về chuỗi khối YAML, nút gốc "Chuỗi khối" được tô sáng.

CI/CD cho Machine Learning

Chỉ thị kiểu - literal

  • Kiểu literal (|): giữ nguyên ngắt dòng và thụt lề
  • Hữu ích để viết lệnh shell
commands: |
  echo "Running python script..."
  python3 script.py

Sơ đồ phân cấp về chuỗi khối YAML, nút lá "Kiểu literal" được tô sáng.

CI/CD cho Machine Learning

Ví dụ kiểu literal

Ví dụ YAML văn bản viết theo kiểu nhiều dòng literal. Văn bản đứng trước ký hiệu "|".

Kết quả đầu ra của văn bản viết theo kiểu nhiều dòng literal trong YAML.

1 https://yaml-multiline.info/
CI/CD cho Machine Learning

Chỉ thị kiểu - gập

  • Kiểu gập (>): loại bỏ ngắt dòng
  • Hữu ích để viết thông điệp dạng đoạn văn
message: >
  Successfully executed the code!
  All processes completed 
  without any errors.
  The results have been saved 
  in the designated
  output directory.

Sơ đồ phân cấp về chuỗi khối YAML, nút lá "Kiểu gập" được tô sáng.

CI/CD cho Machine Learning

Ví dụ kiểu gập

Ví dụ YAML văn bản viết theo kiểu nhiều dòng gập. Văn bản đứng trước ký hiệu ">".

Kết quả đầu ra của văn bản viết theo kiểu nhiều dòng gập trong YAML.

1 https://yaml-multiline.info/
CI/CD cho Machine Learning

Chỉ thị cắt (chomping)

  • Kiểm soát ngắt dòng ở cuối chuỗi
  • Thêm sau chỉ thị kiểu
  • clip: mặc định, một ngắt dòng ở cuối
    • Không cần ký hiệu bổ sung để biểu diễn

Sơ đồ phân cấp về chuỗi khối YAML, nút lá "Chỉ thị cắt Clip" được tô sáng.

CI/CD cho Machine Learning

Chỉ thị cắt - strip

  • strip (-): xóa mọi ngắt dòng ở cuối

Sơ đồ phân cấp về chuỗi khối YAML, nút lá "Chỉ thị cắt Strip" được tô sáng.

CI/CD cho Machine Learning

Ví dụ cắt strip

Ví dụ YAML văn bản kiểu nhiều dòng literal với cắt strip. Văn bản đứng trước ký hiệu "|-".

Kết quả đầu ra của văn bản kiểu nhiều dòng literal với cắt strip. Cách này xóa mọi ngắt dòng ở cuối.

1 https://yaml-multiline.info/
CI/CD cho Machine Learning

Chỉ thị cắt - keep

  • keep (+): giữ mọi ngắt dòng ở cuối

Sơ đồ phân cấp về chuỗi khối YAML, nút lá "Chỉ thị cắt Keep" được tô sáng.

CI/CD cho Machine Learning

Ví dụ cắt keep

Ví dụ YAML văn bản kiểu nhiều dòng literal với cắt keep. Văn bản đứng trước ký hiệu "|+".

Kết quả đầu ra của văn bản kiểu nhiều dòng literal với cắt keep. Cách này không xóa ngắt dòng ở cuối.

1 https://yaml-multiline.info/
CI/CD cho Machine Learning

Tiêm giá trị động

  • Biểu thức cho phép trình phân tích thay thế giá trị động
  • Dùng để:
    • Biến môi trường
    • Tham chiếu phần khác của YAML
  • Thường ở dạng ${{ ... }}
database:
  host: ${{ config.database.host }}
  port: ${{ config.database.port }}
  username: ${{ config.database.username }}
  password: ${{ config.database.password }}
CI/CD cho Machine Learning

YAML nhiều tài liệu

  • Nhiều tài liệu YAML riêng trong một tệp
  • Mỗi tài liệu là YAML hợp lệ
  • Dễ tổ chức theo nhóm liên quan
  • Ngăn cách bằng ba dấu gạch ngang –––
___
- name: John
  age: 30
___
- name: Jane
  age: 28
___
- name: Bob
  age: 35
  occupation: Developer
CI/CD cho Machine Learning

Tóm tắt

Tên Ký hiệu YAML
Chỉ thị kiểu Literal |
Chỉ thị kiểu Gập >
Chỉ thị cắt Strip
Chỉ thị cắt Keep +
Biểu thức ${{ ... }}
YAML nhiều tài liệu –––
CI/CD cho Machine Learning

Ayo berlatih!

CI/CD cho Machine Learning

Preparing Video For Download...