正文
EC2
with
Diagram(
"Simple Diagram"
)
as
diag:
EC2(
"web"
)
diag
可选项
你可以指定输出文件的格式,默认格式是.png,比如将默认的png格式改为jpg格式:
(png, jpg, svg, and pdf) 都是允许的格式
from diagrams import Diagram
from diagrams.aws.compute import EC2
with Diagram("Simple Diagram", outformat="jpg"):
EC2("web")
你也可以使用 filename 参数来指定输出的文件名,但此时不能再指定扩展名,因为扩展名是由 outformat 指定的,下面我们将文件名指定为 my_diagram:
from diagrams import Diagram
from diagrams.aws.compute import EC2
with Diagram("Simple Diagram", filename="my_diagram"):
EC2("web")
也使用 show 参数来禁用文件自动打开,默认是True:
from diagrams import Diagram
from diagrams.aws.compute import EC2
with Diagram("Simple Diagram", show=False):
EC2("web")
它还允许自定义Graphviz点属性选项,比如:
from diagrams import Diagram
from diagrams.aws.compute import EC2
graph_attr = {
"fontsize": "45",
"bgcolor": "transparent"
}
with Diagram("Simple Diagram", show=False, graph_attr=graph_attr):
EC2("web")
graph_attr, node_attr 和 edge_attr 都是支持的。具体可查看链接:https://www.graphviz.org/doc/info/attrs.html.
二、节点
Node是展现节点或系统组成的第二个对象。
基础使用
节点是表示单个系统组件对象的抽象概念。节点对象由三部分组成:提供者、资源类型和名称。
from diagrams import Diagram
from diagrams.aws.compute import EC2
with Diagram("Simple Diagram"):
EC2("web")
在上面的例子中,EC2 是由 aws 提供者提供的计算资源类型的节点。
可以以类似的方式使用其他节点对象,例如:
# aws 资源
from diagrams.aws.compute import ECS, Lambda
from diagrams.aws.database import RDS, ElastiCache
from diagrams.aws.network import ELB, Route53, VPC
...
# azure 资源
from diagrams.azure.compute import FunctionApps
from diagrams.azure.storage import BlobStorage
...
# 阿里云 资源
from