

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

# 使用自己的 JDBC 驅動程式新增 JDBC 連線
<a name="console-connections-jdbc-drivers"></a>

 使用 JDBC 連線時，您可以使用自己的 JDBC 驅動程式。當 AWS Glue 爬蟲程式使用的預設驅動程式無法連線至資料庫時，您可以使用自己的 JDBC 驅動程式。例如，如果您想將 SHA-256 與 Postgres 資料庫搭配使用，而較舊的 Postgres 驅動程式不支援此功能，則可以使用自己的 JDBC 驅動程式。

## 支援的資料來源
<a name="w2aac25c27d135b5"></a>


| 支援的資料來源 | 不支援的資料來源 | 
| --- | --- | 
| MySQL | Snowflake | 
| Postgres |  | 
| Oracle |  | 
| Redshift |  | 
| SQL Server |  | 
| Aurora\$1 |  | 

 \$1 如果正在使用原生的 JDBC 驅動程式，則支援此功能。並非所有驅動程式功能都可供運用。

## 將 JDBC 驅動程式新增至 JDBC 連線
<a name="w2aac25c27d135b9"></a>

**注意**  
 如果您選擇使用自己的 JDBC 驅動程式版本， AWS Glue 爬蟲程式將使用 AWS Glue 任務和 Amazon S3 儲存貯體中的資源，以確保您提供的驅動程式在您的環境中執行。帳戶中將反映資源的額外使用量。 AWS Glue 爬蟲程式和任務的成本在計費中的 AWS Glue 類別下。此外，提供您的 JDBC 驅動程式，並不代表爬蟲程式能夠運用驅動程式的所有功能。

**若要將自己的 JDBC 驅動程式新增至 JDBC 連線：**

1.  將 JDBC 驅動程式檔案新增至 Amazon S3 位置。您可以建立儲存貯體和/或資料夾，或使用現有的儲存貯體和/或資料夾。

1.  在 AWS Glue 主控台中，選擇 **Data Catalog** 下左側選單中的**連線**，然後建立新的連線。

1.  填寫**連線屬性**欄位，然後選擇 JDBC 作為**連線類型**。

1.  在**連線存取**中，輸入 **JDBC URL** 和 **JDBC 驅動程式類別名稱**：*選用*。驅動程式類別名稱必須是 AWS Glue 爬蟲程式支援的資料來源。  
![\[螢幕擷取畫面顯示已選取 JDBC 的資料來源，以及「新增資料來源」視窗中的連線。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/add-connection-connection-access.png)

1.  選擇 **JDBC 驅動程式 Amazon S3 路徑**中 JDBC 驅動程式所在的 Amazon S3 路徑：*選用*欄位。

1.  如果輸入使用者名稱和密碼或機密，請填寫「憑證」類型的欄位。完成時，選擇**建立連線**。
**注意**  
 目前不支援測試連線。使用您提供的 JDBC 驅動程式針對資料來源進行網路爬取時，爬蟲程式會略過此步驟。

1.  將新建立的連線新增至爬蟲程式。在 AWS Glue 主控台中，選擇 **Data Catalog** 下左側選單中的**爬蟲程式**，然後建立新的爬蟲程式。

1.  在**新增爬蟲程式**精靈的步驟 2 中，選擇**新增資料來源**。  
![\[螢幕擷取畫面顯示已選取 JDBC 的資料來源，以及「新增資料來源」視窗中的連線。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/add-crawler-add-data-source.png)

1.  選擇 **JDBC** 作為資料來源，然後選擇在先前步驟中建立的連線。完成 

1.  若要搭配 AWS Glue 爬蟲程式使用您自己的 JDBC 驅動程式，請將下列許可新增至爬蟲程式使用的角色：
   +  授予下列任務動作的許可：`CreateJob`、`DeleteJob`、`GetJob`、`GetJobRun`、`StartJobRun`。
   +  授予 IAM 動作的許可：`iam:PassRole`
   +  授予 Amazon S3 動作的許可：`s3:DeleteObjects`、`s3:GetObject`、`s3:ListBucket`、`s3:PutObject`。
   +  在 IAM 政策中授予服務主體對儲存貯體/資料夾的存取權。

    IAM 政策範例：

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "VisualEditor0",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:ListBucket",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/driver-parent-folder/driver.jar",
           "arn:aws:s3:::amzn-s3-demo-bucket"
         ]
       }
     ]
   }
   ```

------

    AWS Glue 爬蟲程式會建立兩個資料夾：\$1glue\$1job\$1crawler 和 \$1crawler。

   如果驅動程式 jar 位於 `s3://amzn-s3-demo-bucket/driver.jar"` 資料夾中，請新增下列資源：

   ```
   "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/_glue_job_crawler/*",
     		 "arn:aws:s3:::amzn-s3-demo-bucket/_crawler/*"
               ]
   ```

   如果驅動程式 jar 位於 `s3://amzn-s3-demo-bucket/tmp/driver/subfolder/driver.jar"` 資料夾中，請新增下列資源：

   ```
   "Resource": [
                  "arn:aws:s3:::amzn-s3-demo-bucket/tmp/_glue_job_crawler/*",
     		"arn:aws:s3:::amzn-s3-demo-bucket/tmp/_crawler/*"
               ]
   ```

1.  如果您使用的是 VPC，則必須建立介面 AWS Glue 端點並將其新增至路由表，以允許存取端點。如需詳細資訊，請參閱[建立 的介面 VPC 端點 AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/vpc-interface-endpoints.html#vpc-endpoint-create) 

1.  如果您在 Data Catalog 中使用加密，請建立 AWS KMS 介面端點並將其新增至您的路由表。如需詳細資訊，請參閱[為 AWS KMS建立 VPC 端點](https://docs.aws.amazon.com/kms/latest/developerguide/kms-vpc-endpoint.html#vpce-create-endpoint)。