当前位置:网站首页 > 技术博客 > 正文

yml文件的作用



YAML是一种数据序列化语言,它允许您以紧凑且可读的格式存储复杂数据。这对于DevOps和虚拟化非常有用,因为它对于实现高效的数据管理系统和自动化至关重要。

尽管它经常被开发人员所忽略,但它是一个功能强大且简单的工具,只需几个小时的学习就可以学会。

今天,我们将快速学习YAML,并且探索如何在下一个数据驱动的解决方案中使用它。

这是我们今天要介绍的内容:

YAML是一种数据序列化语言,用于以人类可读的形式存储信息。它最初代表“Yet Another Markup Language”,但后来更改为“ YAML Ain’t Markup Language”,以区别于真正的标记语言。

它类似于XML和JSON文件,但使用更简洁的语法。YAML通常用于在基础架构代码(IoC)程序中创建配置文件或在DevOps开发管道中管理容器。

最近,YAML已用于创建自动化协议,该协议可以执行YAML文件中列出的一系列命令。这意味着您的系统可以更加独立和快速响应,而无需开发人员额外关注。

随着越来越多的公司采用DevOps和虚拟化技术,YAML迅速成为现代开发人员职位的必备技能。通过使用PyYAML库,Docker或Ansible等流行技术(如Python)的支持,YAML还易于与现有技术结合。

用例:YAML最适合使用DevOps管道或VM的数据繁重的应用程序。当团队中的其他开发人员经常使用此数据并因此需要更具可读性时,这也很有用。

用例:JSON在Web开发中受到青睐,因为它最适合序列化格式和通过HTTP连接传输数据。

用例: XML最适合需要对验证,架构和名称空间进行精细控制的复杂项目。XML不是人类可读的,并且需要更多的带宽和存储容量,但是提供了精细的控制。

以下是YAML提供的一些最佳功能。

您可以在一个YAML文件中包含多个YAML文档,以使文件组织或数据解析更加容易。

每个文档之间的分隔都用三个破折号()标记

YAML允许您使用,类似于Python注释向文件添加注释。

YAML文件使用类似于Python的缩进系统来显示程序的结构。您需要使用空格而不是制表符来创建缩进,以免造成混淆。

它还削减了JSON和XML文件中的许多“噪声”格式,例如引号,括号和花括号。

这些格式规范一起提高了YAML文件的可读性,超越了XML和JSON。

YAML

JSON格式

注意,他们传达了相同的信息,但是由于YAML文件中删除了双引号,逗号和方括号,因此一目了然,更易于阅读。

YAML在通过自动检测数据类型在输入方面提供了多功能性,同时还支持显式输入选项。要将数据标记为某种类型,只需在值之前添加。

作为数据表示格式,YAML不包含可执行文件。因此,与外部方交换YAML文件非常安全。

YAML必须与其他语言(例如Perl或Java)集成,才能添加可执行文件。

YAML具有构成大部分数据的一些基本概念。

通常,YAML文件中的大多数内容都是键-值对的一种形式,其中键表示对的名称,而值表示链接到该名称的数据。键值对是所有其他YAML构造的基础。

标量表示单个存储的值。标量使用映射分配给键名。您定义一个映射,该映射具有名称,冒号和空格,然后为其保留一个值。

YAML支持常见的类型,例如整数和浮点数值,以及非数字类型的Boolean和String。

每个都可以用不同的方式表示,例如十六进制,八进制或指数。数学概念还有特殊类型,例如无穷大,-无穷大和非数字()。

字符串是代表句子或短语的字符的集合。您可以使用将每个字符串打印为新行,可以将其打印为段落。

YAML中的字符串不需要用双引号引起来。

序列是类似于列表或数组的数据结构,它们在同一键下保存多个值。它们是使用块或内联流样式定义的。

块样式使用空格来构造文档。与流程样式相比,它更易于阅读,但结构却不那么紧凑。

流样式允许您使用方括号内联编写序列,类似于Python或JavaScript等编程语言中的数组声明。Flow样式更紧凑,但一眼就很难阅读。

词典是键-值对的集合,它们都嵌套在同一子组下。它们有助于将数据划分为逻辑类别,以供以后使用。

字典的定义就像映射一样,在字典中,您输入字典名称,冒号和一个空格,后跟一个或多个缩进键/值对。

字典也可以包含更复杂的结构,例如序列。嵌套序列是表示复杂关系数据的好技巧。

恭喜您迈出了学习YAML的第一步。尽管经常被忽视,但YAML是一种简单有效的工具,可用于开发DevOps工具包。

接下来要讨论的一些高级主题是:

文丨Soundhearer

图丨来源于网络

版权声明


相关文章:

  • 电驴官方网站下载软件2025-04-02 15:30:00
  • 网络配置技术2025-04-02 15:30:00
  • js多行注释快捷键是什么2025-04-02 15:30:00
  • python程序如何加密2025-04-02 15:30:00
  • sscom串口调试使用方法2025-04-02 15:30:00
  • java nio网络编程2025-04-02 15:30:00
  • nginx问题处理2025-04-02 15:30:00
  • sqlldr ora-017222025-04-02 15:30:00
  • 三态门的定义和功能2025-04-02 15:30:00
  • c语言指针数组与数组指针2025-04-02 15:30:00