

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立工作流程
<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. 在 https：//[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/) 開啟 AWS Lake Formation 主控台。以資料湖管理員或具有資料工程師許可的使用者身分登入。如需詳細資訊，請參閱[Lake Formation 角色和 IAM 許可參考](permissions-reference.md)。

1. 在導覽窗格中，選擇**藍圖**，然後選擇**使用藍圖**。

1. 在**使用藍圖**頁面上，選擇圖磚以選取藍圖類型。

1. 在**匯入來源**下，指定資料來源。

   如果您是從 JDBC 來源匯入，請指定下列項目：
   + ****資料庫連線**** – 從清單中選擇連線。使用 AWS Glue主控台建立其他連線。連線中的 JDBC 使用者名稱和密碼會決定工作流程可存取的資料庫物件。
   + ****來源資料路徑**** – 輸入 *<database>*/*<schema>*/*<table>* 或 *<database>*/*<table>*，視資料庫產品而定。Oracle 資料庫和 MySQL 不支援路徑中的結構描述。您可以用百分比 (%) 字元取代 *<schema>* 或 *<table>*。例如，對於系統識別符 (SID) 為 的 Oracle 資料庫`orcl`，輸入 `orcl/%` 以匯入連線中名為 之使用者可存取的所有資料表。
**重要**  
此欄位區分大小寫。如果任何元件的案例不相符，工作流程將會失敗。

     如果您指定 MySQL 資料庫， AWS Glue ETL 預設會使用 Mysql5 JDBC 驅動程式，因此原生不支援 MySQL8。您可以編輯 ETL 任務指令碼來使用`customJdbcDriverS3Path`參數，如《 *AWS Glue 開發人員指南*》中的 [JDBC connectionType 值](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-jdbc)中所述，以使用支援 MySQL8 的不同 JDBC 驅動程式。

   如果您是從日誌檔案匯入 ，請確定您為工作流程指定的角色 (「工作流程角色」) 具有存取資料來源所需的 IAM 許可。例如，若要匯入 AWS CloudTrail 日誌，使用者必須具有 `cloudtrail:DescribeTrails`和 `cloudtrail:LookupEvents`許可，才能在建立工作流程時查看 CloudTrail 日誌清單，而且工作流程角色必須具有 Amazon S3 中 CloudTrail 位置的許可。

1. 執行以下任意一項：
   + 對於**資料庫快照**藍圖類型，選擇性地指定一或多個排除模式來識別要匯入的資料子集。這些排除模式是 Unix 樣式`glob`模式。它們會儲存為工作流程所建立資料表的屬性。

     如需可用排除模式的詳細資訊，請參閱《 *AWS Glue 開發人員指南*》中的[包含和排除模式](https://docs.aws.amazon.com/glue/latest/dg/define-crawler.html#crawler-data-stores-exclude)。
   + 針對**增量資料庫**藍圖類型，指定下列欄位。為每個要匯入的資料表新增一列。  
**資料表名稱**  
要匯入的資料表。必須是全部小寫。  
**書籤索引鍵**  
定義書籤索引鍵的資料欄名稱逗號分隔清單。如果為空白，則會使用主索引鍵來判斷新資料。每個資料欄的案例必須符合資料來源中定義的案例。  
主索引鍵只有在循序增加或減少 （沒有間隙） 時，才符合預設書籤索引鍵的資格。如果您想要使用主索引鍵做為書籤索引鍵且具有間隙，則必須將主索引鍵欄命名為書籤索引鍵。  
**書籤順序**  
當您選擇**遞增**時，值大於書籤值的資料列會識別為新資料列。當您選擇**遞減**時，值小於書籤值的資料列會識別為新資料列。  
**分割結構**  
（選用） 分割索引鍵資料欄的清單，以斜線 (/) 分隔。範例：` year/month/day`。  
![\[主控台的增量資料區段包含下列欄位：資料表名稱、書籤索引鍵、書籤順序、分割方案。您可以新增或移除資料列，其中每一列適用於不同的資料表。\]](http://docs.aws.amazon.com/zh_tw/lake-formation/latest/dg/images/incremental-data.png)

     如需詳細資訊，請參閱《 *AWS Glue 開發人員指南*》中的[使用任務書籤追蹤已處理的資料](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)。

1. 在**匯入目標**下，指定目標資料庫、目標 Amazon S3 位置和資料格式。

   確定工作流程角色對資料庫和 Amazon S3 目標位置具有必要的 Lake Formation 許可。
**注意**  
目前，藍圖不支援加密目標的資料。

1. 選擇匯入頻率。

   您可以使用**自訂**選項指定`cron`表達式。

1. 在**匯入選項**下：

   1. 輸入工作流程名稱。

   1. 針對角色，選擇`LakeFormationWorkflowRole`您在 中建立的角色 [（選用） 建立工作流程的 IAM 角色](initial-lf-config.md#iam-create-blueprint-role)。

   1. 選擇性地指定資料表字首。字首會加上工作流程建立的 Data Catalog 資料表名稱。

1. 選擇**建立**，然後等待主控台報告工作流程已成功建立。
**提示**  
您是否收到下列錯誤訊息？  
`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)