使用 Azure Data Factory 或 Synapse Analytics 從 SAP ECC 複製資料
適用於:Azure Data Factory
Azure Synapse Analytics
本文概述如何使用 Azure Data Factory 中的複製活動,從 SAP Enterprise Central Component (ECC) 複製資料。 如需詳細資訊,請參閱複製活動概觀。
提示
若要了解在 SAP 資料整合案例上的整體支援,請參閱使用 Azure Data Factory 的 SAP 資料整合白皮書,其中提供每個 SAP 連接器的詳細簡介、比較和指引。
支援的功能
此 SAP ECC 連接器支援下列活動:
您可以將資料從 SAP ECC 複製到任何支援的接收資料存放區。 如需複製活動所支援作為來源或接收器的資料存放區清單,請參閱支援的資料存放區表格。
具體而言,此 SAP ECC 連接器支援:
在 SAP NetWeaver 7.0 版和更新版本上從 SAP ECC 複製資料。
從 SAP ECC OData 服務所公開的任何物件複製資料,例如:
- SAP 資料表或檢視表。
- 商務應用程式開發介面 [BAPI] 物件。
- 資料擷取器。
- 傳送至 SAP 程序整合 (PI) 且可透過相對配接器以 OData 形式接收的資料或中繼文件 (IDOC)。
使用基本驗證來複製資料。
7.0 版或更新版本是指 SAP NetWeaver 版本,而不是 SAP ECC 版本。 例如,SAP ECC 6.0 EHP 7 一般具有 NetWeaver > =7.4 版。 如果您不確定您的環境,以下步驟可供您確認 SAP 系統的版本:
- 使用 SAP GUI 連線到 SAP 系統。
- 移至 [系統] ->[狀態]。
- 請檢查 SAP_BASIS 的版本,確定其等於或大於 701。
提示
若要透過 SAP 資料表或檢視表從 SAP ECC 複製資料,請使用更快速且更具可擴縮性的 SAP 資料表連接器。
必要條件
若要使用此 SAP ECC 連接器,您必須經由 SAP 閘道透過 OData 服務公開 SAP ECC 實體。 具體而言:
設定 SAP 閘道。 如果伺服器使用 7.4 以後的 SAP NetWeaver 版本,則必須已安裝 SAP Gateway。 針對舊版,您必須先安裝內嵌 SAP Gateway 或 SAP Gateway 中樞系統,再透過 OData 服務公開 SAP ECC 資料。 若要安裝 SAP Gateway,請參閱 Installation Guide (安裝指南)。
啟動及設定 SAP OData 服務。 您可透過 TCODE SICF,在短短數秒內啟動 OData 服務。 您也可以設定哪些物件需要公開。 如需詳細資訊,請參閱 Step-by-step guide (逐步指南)。
如果您的資料存放區位於內部部署網路、Azure 虛擬網路或 Amazon 虛擬私人雲端中,則必須設定自我裝載整合執行階段以與其連線。
如果您的資料存放區是受控雲端資料服務,則可使用 Azure Integration Runtime。 如果只能存取防火牆規則中核准的 IP,您可以將 Azure Integration Runtime IP 新增至允許清單。
您也可以使用 Azure Data Factory 中的受控虛擬網路整合執行階段功能來存取內部部署網路,而不需要安裝和設定自我裝載整合執行階段。
如需 Data Factory 支援的網路安全性機制和選項的詳細資訊,請參閱資料存取策略。
開始使用
若要透過管線執行複製活動,您可以使用下列其中一個工具或 SDK:
使用 UI 建立針對 SAP ECC 的連結服務
使用下列步驟,在 Azure 入口網站 UI 中建立針對 SAP ECC 的連結服務。
瀏覽至 Azure Data Factory 或 Synapse 工作區中的 [管理] 索引標籤,並選取 [連結的服務],然後按一下 [新增]:
搜尋 SAP 並選取 SAP ECC 連接器。
設定服務詳細資料、測試連線,然後建立新的連結服務。
連接器設定詳細資料
下列各節將針對用來定義 SAP ECC 連接器特定實體的屬性提供相關詳細資料。
連結服務屬性
SAP ECC 連結服務支援下列屬性:
屬性 | 描述 | 必要 |
---|---|---|
type |
type 屬性必須設定為 SapEcc 。 |
是 |
url |
SAP ECC OData 服務的 URL。 | 是 |
username |
用來連線到 SAP ECC 的使用者名稱。 | 否 |
password |
用來連線到 SAP ECC 的純文字密碼。 | 否 |
connectVia |
用來連線到資料存放區的整合執行階段。 深入了解必要條件一節。 如果未指定執行階段,則會使用預設的 Azure Integration Runtime。 | 否 |
範例
{
"name": "SapECCLinkedService",
"properties": {
"type": "SapEcc",
"typeProperties": {
"url": "<SAP ECC OData URL, e.g., http://eccsvrname:8000/sap/opu/odata/sap/zgw100_dd02l_so_srv/>",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
}
},
"connectVia": {
"referenceName": "<name of integration runtime>",
"type": "IntegrationRuntimeReference"
}
}
資料集屬性
如需可用來定義資料集的區段和屬性完整清單,請參閱資料集。 下一節提供 SAP ECC 資料集所支援的屬性清單。
若要從 SAP ECC 複製資料,請將資料集的 type
屬性設定為 SapEccResource
。
以下是支援的屬性:
屬性 | 描述 | 必要 |
---|---|---|
path |
SAP ECC OData 實體的路徑。 | 是 |
範例
{
"name": "SapEccDataset",
"properties": {
"type": "SapEccResource",
"typeProperties": {
"path": "<entity path, e.g., dd04tentitySet>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<SAP ECC linked service name>",
"type": "LinkedServiceReference"
}
}
}
複製活動屬性
如需可用來定義活動的區段和屬性完整清單,請參閱管線。 下一節提供 SAP ECC 來源所支援的屬性清單。
以 SAP ECC 作為來源
若要從 SAP ECC 複製資料,請將複製活動 source
區段中的 type
屬性設定為 SapEccSource
。
複製活動的 source
區段支援下列屬性:
屬性 | 描述 | 必要 |
---|---|---|
type |
複製活動 source 區段的 type 屬性必須設定為 SapEccSource 。 |
是 |
query |
用來篩選資料的 OData 查詢選項。 例如:"$select=Name,Description&$top=10" SAP ECC 連接器會從以下組合的 URL 複製資料: <URL specified in the linked service>/<path specified in the dataset>?<query specified in the copy activity's source section> 如需詳細資訊,請參閱 OData URL 元件。 |
否 |
sapDataColumnDelimiter |
已將用做為分隔符號的單一字元,傳遞到 SAP RFC 以分割輸出資料。 | No |
httpRequestTimeout |
用來取得回應的 HTTP 要求會有的逾時值 (TimeSpan 值)。 此值是取得回應的逾時值,而非讀取回應資料的逾時值。 如果未指定,則預設值是 00:30:00 (30 分鐘)。 | 否 |
範例
"activities":[
{
"name": "CopyFromSAPECC",
"type": "Copy",
"inputs": [
{
"referenceName": "<SAP ECC input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SapEccSource",
"query": "$top=10"
},
"sink": {
"type": "<sink type>"
}
}
}
]
SAP ECC 的資料類型對應
當您從 SAP ECC 複製資料時會使用下列對應,其從 SAP ECC 資料的 OData 資料類型對應到服務在內部使用的過渡資料類型。 若要了解複製活動如何將來源結構描述和資料類型對應至接收,請參閱結構描述和資料類型對應。
OData 資料類型 | 過渡期服務資料類型 |
---|---|
Edm.Binary |
String |
Edm.Boolean |
Bool |
Edm.Byte |
String |
Edm.DateTime |
DateTime |
Edm.Decimal |
Decimal |
Edm.Double |
Double |
Edm.Single |
Single |
Edm.Guid |
String |
Edm.Int16 |
Int16 |
Edm.Int32 |
Int32 |
Edm.Int64 |
Int64 |
Edm.SByte |
Int16 |
Edm.String |
String |
Edm.Time |
TimeSpan |
Edm.DateTimeOffset |
DateTimeOffset |
注意
目前不支援複雜資料類型。
查閱活動屬性
若要了解關於屬性的詳細資料,請參閱查閱活動。
後續步驟
如需複製活動支援做為來源和接收器的資料存放區清單,請參閱支援的資料存放區。