使用 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 系統的版本:

  1. 使用 SAP GUI 連線到 SAP 系統。
  2. 移至 [系統] ->[狀態]。
  3. 請檢查 SAP_BASIS 的版本,確定其等於或大於 701。
    Check SAP_BASIS

提示

若要透過 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 的連結服務。

  1. 瀏覽至 Azure Data Factory 或 Synapse 工作區中的 [管理] 索引標籤,並選取 [連結的服務],然後按一下 [新增]:

  2. 搜尋 SAP 並選取 SAP ECC 連接器。

    Screenshot of the SAP ECC connector.

  3. 設定服務詳細資料、測試連線,然後建立新的連結服務。

    Screenshot of linked service configuration for 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

注意

目前不支援複雜資料類型。

查閱活動屬性

若要了解關於屬性的詳細資料,請參閱查閱活動

後續步驟

如需複製活動支援做為來源和接收器的資料存放區清單,請參閱支援的資料存放區