

# 設計図の開発の概要
<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 シェルで使用できるライブラリのみが、レイアウト生成用のライブラリとしてサポートされています。

設計図ライブラリで定義されたメソッドを使用することで、公開前の設計図をローカルでテストできます。

設計図をデータアナリストに提供する準備ができたら、スクリプト、パラメータ設定ファイル、および追加のスクリプトやライブラリなどのサポートファイルを、単一のデプロイ可能なアセットの中にパッケージ化します。次に、このアセットを Amazon S3 にアップロードし、AWS Glue への登録を管理者に依頼します。

その他の設計図プロジェクトの例については、「[設計図プロジェクト例](developing-blueprints-sample.md)」および「[設計図の例](developing-blueprints-samples.md)」を参照してください。