

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

# 建立 DMS 結構描述轉換的資料提供者
<a name="getting-started-data-providers"></a>

接下來，請建立描述來源和目標資料庫的資料提供者。對於每個資料提供者，您可以指定資料儲存類型和位置資訊。資料庫憑證不會儲存在資料提供者中。

------
#### [ AWS Management Console ]

**若要建立資料提供者**

1. 登入 AWS 管理主控台，然後開啟 AWS DMS 主控台。

1. 在導覽窗格中，選擇**資料提供者**，然後選擇**建立資料提供者**。

1. 對於**名稱**，輸入來源資料提供商的唯一名稱。例如，​輸入 `sc-dp`。

1. 針對**用途**，選取**結構描述轉換**。

1. 針對**引擎類型**，請選擇資料提供者的資料庫引擎類型。

1. 若要將此資料提供者用於結構描述轉換，而不連接到資料庫，請開啟**虛擬模式**。

   套用**虛擬模式**有兩種使用案例：
   + 離線來源 – 從匯出的指令碼檔案轉換結構描述，而不連接到來源資料庫。Microsoft SQL Server 目前可使用離線來源。
   + 虛擬目標 – 轉換結構描述而不佈建目標基礎設施。適用於所有支援的目標資料庫。

   當**虛擬模式**開啟時，主控台會自動使用預設值設定連線資訊。

   如需使用**虛擬模式**的詳細資訊，請參閱 [離線來源和虛擬目標的虛擬模式](virtual-data-provider.md)。

1. 針對**引擎組態**，選擇下列其中一項：
   + **從清單中選擇 RDS 資料庫執行個體** – 選擇**瀏覽**，然後選擇您的 Amazon RDS 資料庫。DMS 結構描述轉換會自動擷取引擎類型、伺服器名稱和連接埠。針對 **Database name (資料庫名稱)**，輸入資料庫的名稱。
   + **手動輸入 – **輸入資料庫的連線資訊。連線參數取決於您的資料庫引擎。如需詳細資訊，請參閱[ 建立資料提供者](data-providers-create.md)。

1. 對於 **Secure Socket Layer (SSL) 模式**，請選擇 SSL 強制執行的類型。

1. 選擇**建立資料提供者**。

------
#### [ AWS CLI ]

若要建立資料提供者，請使用 [create-data-provider](https://docs.aws.amazon.com/cli/latest/reference/dms/create-data-provider.html) 命令。

```
aws dms create-data-provider \
    --data-provider-name {{my-data-provider}} \
    --engine {{engine-type}} \
    --settings '{{{"EngineSettings"}}:{
        "ServerName":"{{server-name}}",
        "Port":{{port}},
        "DatabaseName":"{{database-name}}",
        "SslMode":"{{ssl-mode}}"
    }}'
```

取代以下項目：
+ {{my-data-provider}} – 資料提供者的唯一名稱。
+ {{engine-type}} – 資料庫引擎。有效值包括 `sqlserver`、`postgres`、`oracle`、`mysql`、`aurora`、`aurora-postgresql`。
+ {{EngineSettings}} – 引擎特定的設定物件，例如 `MicrosoftSqlServerSettings`、 `PostgreSqlSettings`或 `OracleSettings`。
+ {{server-name}} – 資料庫伺服器的 DNS 名稱或 IP 地址。此值會成為選取規則`server-name`中的 。
+ {{連接埠}} – 用來連線至資料庫伺服器的連接埠。
+ {{database-name}} – 資料庫的名稱。
+ {{ssl-mode}} – SSL 模式。有效值：`none`、`require`、`verify-ca`、`verify-full`。

**建立離線來源**

若要建立離線來源資料提供者，請在引擎組態中使用 [create-data-provider](https://docs.aws.amazon.com/cli/latest/reference/dms/create-data-provider.html) 命令搭配 `--virtual`旗標和 S3 設定。

```
aws dms create-data-provider \
    --data-provider-name {{my-offline-source}} \
    --engine sqlserver \
    --settings '{"MicrosoftSqlServerSettings":
                    {"ServerName": "{{my-source-server}}",
                     "Port": 1433,
                     "DatabaseName": "{{MyDatabase}}",
                     "SslMode": "none",
                     "S3Path": "s3://{{amzn-s3-demo-bucket}}/{{my-prefix}}",
                     "S3AccessRoleArn": "arn:aws:iam::{{111122223333}}:role/{{my-s3-read-role}}"}}' \
    --virtual
```

下表說明每個設定。離線來源需要所有設定。


**離線來源設定**  

| 設定 | 必要 | 描述 | 
| --- | --- | --- | 
| ServerName | 是 | 此資料提供者的識別符。在選擇規則server-name中用作 。不需要是真正的主機名稱。 | 
| Port | 是 | 引擎的標準連接埠 (1433 for SQL Server)。未建立連線。 | 
| DatabaseName | 是 | 資料庫名稱值。未建立連線。 | 
| SslMode | 是 | 請使用 none。未建立連線。 | 
| S3Path | 是 | 包含匯出 DDL 指令碼的 S3 URI 字首 （例如 s3://amzn-s3-demo-bucket/my-prefix)。 | 
| S3AccessRoleArn | 是 | 授予 DMS S3 儲存貯體讀取存取權的 IAM 角色 ARN。如需詳細資訊，請參閱[設定離線來源的 S3 存取許可](virtual-source-s3-permissions.md)。 | 

如需離線來源先決條件和 S3 許可的詳細資訊，請參閱 [離線來源](virtual-data-provider.md#virtual-source-data-provider)。

**建立虛擬目標**

若要建立虛擬目標資料提供者，請使用 [create-data-provider](https://docs.aws.amazon.com/cli/latest/reference/dms/create-data-provider.html) 命令搭配 `--virtual`旗標。請勿包含 `S3Path`或 `S3AccessRoleArn`- 虛擬目標會拒絕這些設定。

```
aws dms create-data-provider \
    --data-provider-name {{my-virtual-target}} \
    --engine postgres \
    --settings '{"PostgreSqlSettings":
                    {"ServerName": "{{my-target-server}}",
                     "Port": 5432,
                     "DatabaseName": "{{postgres}}",
                     "SslMode": "none"}}' \
    --virtual
```

下表說明每個設定。


**虛擬目標設定**  

| 設定 | 必要 | 描述 | 
| --- | --- | --- | 
| ServerName | 是 | 此資料提供者的識別符。在選擇規則server-name中用作 。不需要是真正的主機名稱。 | 
| Port | 是 | 引擎的標準連接埠 (5432 for PostgreSQL、3306 for MySQL)。未建立連線。 | 
| DatabaseName | 是 | 資料庫名稱預留位置。未建立連線。 | 
| SslMode | 是 | 請使用 none。未建立連線。 | 
| S3Path | N/A | 請勿包含 。已拒絕虛擬目標。 | 
| S3AccessRoleArn | N/A | 請勿包含 。已拒絕虛擬目標。 | 

如需虛擬模式的詳細資訊，請參閱 [虛擬目標](virtual-data-provider.md#virtual-target-data-provider)。

------