

# 开发蓝图概述
<a name="developing-blueprints-overview"></a>

开发过程的第一步是确定将受益于蓝图的常见使用案例。典型使用案例涉及一个反复出现的 ETL 问题，您认为此问题应该以常规方式解决。接下来，设计一个实现通用使用案例的蓝图，并定义蓝图输入参数，这些参数都可从通用使用案例中定义特定使用案例。

蓝图由包含蓝图参数配置文件的项目以及定义所要生成工作流*布局*的脚本组成。布局定义了所要创建的任务和爬网程序（或蓝图脚本术语中的*实体*）。

您不会直接在布局脚本中指定任何触发器。相反，您可以编写代码来指定脚本创建的任务和爬网程序之间的依赖关系。AWS Glue 根据您的依赖项规范生成触发器。布局脚本的输出是一个工作流对象，其中包含所有工作流实体的规范。

您可以使用以下 AWS Glue 蓝图库构建工作流对象：
+ `awsglue.blueprint.base_resource` – 库使用的基本资源库。
+ `awsglue.blueprint.workflow` – 用于定义 `Workflow` 类的库。
+ `awsglue.blueprint.job` – 用于定义 `Job` 类的库。
+ `awsglue.blueprint.crawler` – 用于定义 `Crawler` 类的库。

唯一支持布局生成的其他库是可用于 Python shell 的库。

在发布蓝图之前，您可以使用蓝图库中定义的方法在本地测试蓝图。

当您准备好将蓝图提供给数据分析人员时，您可以将脚本、参数配置文件和任何支持文件（如附加脚本和库）打包到单个可部署资产中。然后，您将资产上传到 Amazon S3，并要求管理员将其注册到 AWS Glue。

有关更多示例蓝图项目的信息，请参阅[示例蓝图项目](developing-blueprints-sample.md)和[蓝图示例](developing-blueprints-samples.md)。