

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ワークフローの作成
<a name="workflows-creating"></a>

開始する前に、`LakeFormationWorkflowRole` ロールに必要なデータ許可とデータロケーション許可が付与されていることを確認してください。これは、ワークフローが Data Catalog にメタデータテーブルを作成し、Amazon S3 内のターゲットロケーションにデータを書き込むことができるようにするためです。詳細については、「[(オプション) ワークフロー用の IAM ロールを作成する](initial-lf-config.md#iam-create-blueprint-role)」および「[Lake Formation 許可の概要](lf-permissions-overview.md)」を参照してください。

**注記**  
Lake Formation は、`GetTemplateInstance`、`GetTemplateInstances`、および `InstantiateTemplate` オペレーションを使用して、ブループリントからワークフローを作成します。これらのオペレーションは一般には公開されておらず、ユーザーに代わってリソースを作成するために内部でのみ使用されます。ユーザーは、ワークフローを作成するための CloudTrail イベントを受け取ります。

**ブループリントからワークフローを作成する**

1. AWS Lake Formation コンソール ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)) を開きます。データレイク管理者として、またはデータエンジニア許可を持つユーザーとしてサインインします。詳細については、「[Lake Formation のペルソナと IAM 許可のリファレンス](permissions-reference.md)」を参照してください。

1. ナビゲーションペインで **[Blueprints]** (ブループリント) を選択してから、**[Use blueprint]** (ブループリントを使用) を選択します。

1. **[Use a blueprint]** (ブループリントの使用) ページで、ブループリントタイプを選択するタイルを選択します。

1. **[Import source]** (インポートソース) で、データソースを指定します。

   JDBC ソースからインポートしている場合は、以下を指定します。
   + ****[Database connection]**** (データベース接続) – リストから接続を選択します。AWS Glue コンソールを使用して、追加の接続を作成します。接続の JDBC ユーザー名とパスワードによって、ワークフローがアクセスできるデータベースオブジェクトが決まります。
   + ****[Source data path]**** (ソースデータパス) – データベース製品に応じて、{{<database>}}/{{<schema>}}/{{<table>}}、または {{<database>}}/{{<table>}} を入力します。Oracle データベース と MySQL は、パス内のスキーマをサポートしません。{{<schema>}} または {{<table>}} は、パーセント (%) 文字に置き換えることができます。例えば、システム識別子 (SID) が `orcl` の Oracle データベースの場合は、`orcl/%` を入力して、接続で指定されているユーザーがアクセスできるすべてのテーブルをインポートします。
**重要**  
このフィールドでは、大文字と小文字が区別されます。いずれかのコンポーネントで大文字と小文字の不一致がある場合は、ワークフローが失敗します。

     MySQL データベースを指定する場合、AWS Glue ETL はデフォルトで Mysql5 JDBC ドライバーを使用するため、MySQL8 はネイティブでサポートされていません。「*AWS Glue デベロッパーガイド*」の「[JDBC connectionType の値](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-jdbc)」で説明されているように、`customJdbcDriverS3Path` パラメータを使用するように ETL ジョブスクリプトを編集して、MySQL8 をサポートする別の JDBC ドライバーを使用することができます。

   ログファイルからインポートしている場合は、ワークフローに指定するロール (「ワークフローロール」) に、データソースへのアクセスに必要な IAM 許可があることを確認してください。例えば、AWS CloudTrail ログをインポートするには、ユーザーが、ワークフローの作成中に CloudTrail ログのリストを確認するための `cloudtrail:DescribeTrails` と `cloudtrail:LookupEvents` 許可を持っており、ワークフローロールが Amazon S3 内の CloudTrail ロケーションに対する許可を持っている必要があります。

1. 以下のいずれかを実行します。
   + **[Database snapshot]** (データベーススナップショット) のブループリントタイプの場合は、オプションで、1 つ、または複数の除外パターンを指定することによってインポートするデータのサブセットを特定します。これらの除外パターンは、Unix スタイルの `glob` パターンです。これらは、ワークフローによって作成されるテーブルのプロパティとして保存されます。

     利用可能な除外パターンの詳細については、「*AWS Glue デベロッパーガイド*」の「[包含パターンと除外パターン](https://docs.aws.amazon.com/glue/latest/dg/define-crawler.html#crawler-data-stores-exclude)」を参照してください。
   + **[Incremental database]** (増分データベース) のブループリントタイプの場合は、以下のフィールドを指定します。インポートするテーブルごとに行を追加してください。  
**[Table name] (テーブル名)**  
インポートするテーブル。すべて小文字にする必要があります。  
**[Bookmark keys] (ブックマークキー)**  
ブックマークキーを定義する列名のカンマ区切りのリスト。空白になっている場合は、新しいデータの判別にプライマリキーが使用されます。各列の大文字と小文字は、データソースで定義されている大文字と小文字と一致する必要があります。  
プライマリキーがデフォルトのブックマークキーとして認められるのは、それがギャップを生じることなく連続的に増加または減少している場合のみです。プライマリキーをブックマークキーとして使用したいが、ギャップがあるという場合は、プライマリキー列をブックマークキーとして指定する必要があります。  
**[Bookmark order] (ブックマークの順序)**  
**[Ascending]** (昇順) を選択すると、ブックマークされた値よりも大きい値を持つ行が新しい行として識別されます。**[Descending]** (降順) を選択すると、ブックマークされた値より小さい値を持つ行が新しい行として識別されます。  
**[Partitioning scheme] (パーティショニングスキーム)**  
(オプション) スラッシュ (/) で区切られた、パーティショニングキー列のリスト。例えば、` year/month/day` などです。  
![コンソールの [Incremental data] (増分データ) セクションには、[Table name] (テーブル名)、[Bookmark keys] (ブックマークキー)、[Bookmark order] (ブックマークの順序)、および [Partitioning scheme] (パーティショニングスキーム)のフィールドがあります。行は追加または削除 (それぞれの行が異なるテーブル用のもの) することができます。](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/incremental-data.png)

     詳細については、「*AWS Glueデベロッパーガイド*」の「[ジョブのブックマークを使用した処理済みデータの追跡](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)」を参照してください。

1. **[Import target]** (インポートターゲット) で、ターゲットデータベース、ターゲット Amazon S3 ロケーション、およびデータ形式を指定します。

   ワークフローロールに、データベースと Amazon S3 ターゲットロケーションに対する必要な Lake Formation 許可があることを確認してください。
**注記**  
現在、ブループリントはターゲットでのデータの暗号化をサポートしていません。

1. インポートの頻度 を選択します。

   **[Custom]** (カスタム) オプションでは、`cron` 式を指定することができます。

1. **[Import options]** (インポートオプション) で以下を実行します。

   1. ワークフロー名を入力します。

   1. ロールには、「[(オプション) ワークフロー用の IAM ロールを作成する](initial-lf-config.md#iam-create-blueprint-role)」で作成したロール `LakeFormationWorkflowRole` を選択します。

   1. オプションで、テーブルプレフィックスを指定します。プレフィックスは、ワークフローが作成する Data Catalog テーブルの名前の前に付加されます。

1. **[Create]** (作成) を選択し、ワークフローが正常に作成されたことコンソールが報告するまで待機します。
**ヒント**  
以下のエラーメッセージが表示されましたか?  
`User: arn:aws:iam::{{<account-id>}}:user/{{<username>}} is not authorized to perform: iam:PassRole on resource:arn:aws:iam::{{<account-id>}}:role/{{<rolename>}}...`  
表示された場合は、すべてのポリシーの {{<account-id>}} が有効な AWS アカウント番号に置き換えられていることを確認してください。

**以下も参照してください。**  
[Lake Formation のブループリントとワークフロー](workflows-about.md)