你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure Data Factory 或 Synapse Analytics 从 SAP ECC 复制数据

适用于: Azure Data Factory Azure Synapse Analytics

提示

Microsoft Fabric 中的 Data Factory 是下一代 Azure Data Factory,具有更加简化的架构、内置人工智能和新功能。 如果不熟悉数据集成,请从Fabric数据工厂开始。 现有 ADF 工作负载可以升级到 Fabric,以跨数据科学、实时分析和报告访问新功能。

本文概述了如何使用Azure Data Factory中的复制活动从 SAP Enterprise Central 组件(ECC)复制数据。 有关详细信息,请参阅 “复制活动”概述

提示

若要了解 SAP 数据集成方案的总体支持,请参阅 SAP 数据集成(使用Azure Data Factory白皮书,并详细介绍了每个 SAP 连接器、比较和指南。

支持的功能

此 SAP ECC 连接器支持以下功能:

支持的功能 IR
复制操作 (source/-) (1) (2)
Lookup 活动 (1) (2)

(1) Azure集成运行时 (2) 自承载集成运行时

如需可以用作源或接收器的数据存储的列表,请参阅支持的数据存储表。

具体而言,此 SAP ECC 连接器支持:

  • 在 SAP NetWeaver 版本 7.0 和更高版本上从 SAP ECC 复制数据。

  • 从 SAP ECC OData 服务公开的任何对象复制数据,例如以下对象:

    • SAP 表或视图。
    • 业务应用程序编程接口 [BAPI] 对象。
    • 数据提取程序。
    • 发送给 SAP 进程集成 (PI) 的数据或中间文档 (IDOC),可以通过相对适配器以 OData 形式接收。
  • 使用基本身份验证复制数据。

版本 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。
    检查 SAP_BASIS

提示

若要通过 SAP 表或视图从 SAP ECC 复制数据,请使用速度更快且可伸缩性更强的 SAP 表连接器。

Prerequisites

要使用此 SAP ECC 连接器,需要使用 SAP 网关通过 OData 服务公开 SAP ECC 实体。 更具体说来:

  • 设置 SAP 网关。 对于采用高于 7.4 版的 SAP NetWeaver 版本的服务器,SAP 网关已安装。 对于较早版本,在通过 OData 服务公开 SAP ECC 数据之前,必须安装嵌入式 SAP 网关或 SAP 网关中心系统。 若要设置 SAP 网关,请参阅安装指南

  • 激活并配置 SAP OData 服务。 可以通过 TCODE SICF 在数秒内激活 OData 服务。 还可以配置需要公开哪些对象。 有关详细信息,请参阅分步指南

如果数据存储位于本地网络、Azure虚拟网络或 Amazon 虚拟私有云中,则需要配置自承载集成运行时以连接到它。

如果数据存储是托管的云数据服务,则可以使用Azure Integration Runtime。 如果访问仅限于防火墙规则中批准的 IP,则可以将 Azure Integration Runtime IP 添加到允许列表。

还可以在 Azure Data Factory 中使用 托管虚拟网络集成运行时功能访问本地网络,而无需安装和配置自承载集成运行时。

要详细了解网络安全机制和数据工厂支持的选项,请参阅数据访问策略

开始

若要使用管道执行复制活动,可以使用以下工具或 SDK 之一:

使用 UI 创建到 SAP ECC 的链接服务

使用以下步骤在 Azure 门户 UI 中创建到 SAP ECC 的链接服务。

  1. 浏览到Azure Data Factory或 Synapse 工作区中的“管理”选项卡并选择“链接服务”,然后单击“新建”:

  2. 搜索“SAP”并选择 SAP ECC 连接器。

    SAP ECC 连接器的屏幕截图。

  3. 配置服务详细信息,测试连接,然后创建新的链接服务。

    SAP ECC 的链接服务配置的屏幕截图。

连接器配置详细信息

以下部分详细介绍了用于定义特定于 SAP ECC 连接器的实体的属性。

链接服务属性

SAP ECC 链接服务支持以下属性:

properties 说明 必选
type type 属性必须设置为 SapEcc
url SAP ECC OData 服务的 URL。
username 用于连接到 SAP ECC 的用户名。
password 用于连接到 SAP ECC 的明文密码。
connectVia 用于连接到数据存储的集成运行时。 若要了解详细信息,请参阅先决条件部分。 如果未指定运行时,将使用默认Azure集成运行时。

示例

{
    "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

支持以下属性:

properties 说明 必选
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 复制数据,请将复制活动的 type 节中的 source 属性设置为 SapEccSource

复制活动的 source 节支持以下属性:

properties 说明 必选
type 复制活动的 type 节的 source 属性必须设置为 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 的分隔符,以用于拆分输出数据。
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

注意

目前不支持复杂数据类型。

“查找”活动属性

若要详细了解这些属性,请查看“查找”活动

有关复制活动支持作为源和接收器的数据存储的列表,请参阅支持的数据存储