Compartilhar via

使用 Azure 数据工厂 或 Synapse Analytics 从 SAP Cloud for Customer (C4C) 复制数据

适用于: Azure 数据工厂 Azure Synapse Analytics

本文概述了如何使用 Azure 数据工厂 或 Synapse Analytics 管道中的复制活动从/向 SAP Cloud for Customer(C4C)复制数据。 基于提供复制活动一般概述的复制活动概述一文。

提示

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

支持的功能

此 SAP Cloud for Customer 连接器支持以下功能:

支持的功能 IR
复制活动 (源/接收器) (1) (2)
查询活动 (1) (2)

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

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

具体而言,此连接器使该服务能够将数据从/向 SAP Cloud for Customer(包括 SAP Cloud for Sales、SAP Cloud for Service 和 SAP Cloud for Social Engagement 解决方案)复制数据。

入门

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

使用 UI 创建到 SAP Cloud for Customer 的链接服务

使用以下步骤在 Azure 门户 UI 中创建指向 SAP Cloud for Customer 的链接服务。

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

  2. 搜索“SAP”并选择 SAP Cloud for Customer 连接器。

    选择 SAP Cloud for Customer 连接器。

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

    配置到 SAP Cloud for Customer 的链接服务。

连接器配置详细信息

以下部分提供了有关 SAP Cloud for Customer 连接器中数据工厂实体的属性的详细信息,这些属性用于确定这些实体。

连接的服务属性

SAP Cloud for Customer 链接服务支持以下属性:

属性 描述 必需
类型 type 属性必须设置为:SapCloudForCustomer
url SAP C4C OData 服务的 URL。
用户名 指定用于连接到 SAP C4C 的用户名。
密码 为您指定的用户名指定密码。 将此字段标记为 SecureString 以安全地存储它,或引用存储在 Azure 密钥保管库 中的机密。
connectVia 连接到数据存储时要使用的Integration Runtime。 如果未指定,则使用默认Azure Integration Runtime。

示例:

{
    "name": "SAPC4CLinkedService",
    "properties": {
        "type": "SapCloudForCustomer",
        "typeProperties": {
            "url": "https://<tenantname>.crm.ondemand.com/sap/c4c/odata/v1/c4codata/" ,
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

数据集属性

有关可用于定义数据集的各部分和属性的完整列表,请参阅数据集一文。 本部分提供 SAP Cloud for Customer 数据集支持的属性列表。

若要从 SAP Cloud for Customer 复制数据,请将数据集的 type 属性设置为 SapCloudForCustomerResource。 支持以下属性:

属性 描述 必需
类型 数据集的 type 属性必须设置为:SapCloudForCustomerResource
路径 指定 SAP C4C OData 实体的路径。

示例:

{
    "name": "SAPC4CDataset",
    "properties": {
        "type": "SapCloudForCustomerResource",
        "typeProperties": {
            "path": "<path e.g. LeadCollection>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<SAP C4C linked service>",
            "type": "LinkedServiceReference"
        }
    }
}

复制活动 属性

有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供 SAP Cloud for Customer 源支持的属性列表。

以 SAP C4C 作为源

若要从 SAP Cloud for Customer 复制数据,请将复制活动中的源类型设置为 SapCloudForCustomerSource。 复制活动source部分支持以下属性:

属性 描述 必需
类型 type 属性必须设置为:SapCloudForCustomerSource
查询 指定用于读取数据的自定义 OData 查询。
httpRequestTimeout 用于获取响应的 HTTP 请求的超时(TimeSpan 值)。 该值是获取响应而不是读取响应数据的超时。 如果未指定,默认值为“00:30:00”(30 分钟)。

用于获取特定天数据的示例查询:"query": "$filter=CreatedOn ge datetimeoffset'2017-07-31T10:02:06.4202620Z' and CreatedOn le datetimeoffset'2017-08-01T10:02:06.4202620Z'"

示例:

"activities":[
    {
        "name": "CopyFromSAPC4C",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SAP C4C input dataset>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SapCloudForCustomerSource",
                "query": "<custom query e.g. $top=10>"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

以 SAP C4C 作为接收器

若要将数据复制到 SAP Cloud for Customer,请将复制活动中的接收器类型设置为 SapCloudForCustomerSink。 复制活动中的 目标连接 部分支持以下属性:

属性 描述 必需
类型 type 属性必须设置为:SapCloudForCustomerSink
writeBehavior 操作的写入行为。 可以是“Insert”、“Update”。  否。 默认为“插入”。
writeBatchSize 写入操作的批大小。 可获得最佳性能的批大小可能会因不同表或服务器而异。 否。 默认值为 10。 
 最大并发连接数 活动运行期间与数据存储建立的并发连接的上限。 仅在要限制并发连接时指定一个值。  无

示例:

"activities":[
    {
        "name": "CopyToSapC4c",
        "type": "Copy",
        "inputs": [{
            "type": "DatasetReference",
            "referenceName": "<dataset type>"
        }],
        "outputs": [{
            "type": "DatasetReference",
            "referenceName": "SapC4cDataset"
        }],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "SapCloudForCustomerSink",
                "writeBehavior": "Insert",
                "writeBatchSize": 30
            },
            "parallelCopies": 10,
            "dataIntegrationUnits": 4,
            "enableSkipIncompatibleRow": true,
            "redirectIncompatibleRowSettings": {
                "linkedServiceName": {
                    "referenceName": "ErrorLogBlobLinkedService",
                    "type": "LinkedServiceReference"
                },
                "path": "incompatiblerows"
            }
        }
    }
]

SAP Cloud for Customer 的数据类型映射

从 SAP Cloud for Customer 复制数据时,以下映射用于从 SAP Cloud for Customer 数据类型映射到服务内部使用的临时数据类型。 若要了解复制活动如何将源架构和数据类型映射到接收器,请参阅架构和数据类型映射

SAP C4C OData 数据类型 临时服务数据类型
Edm.Binary Byte[]
Edm.Boolean 布尔 (Bool)
Edm.Byte Byte[]
Edm.DateTime 日期时间
Edm.小数 十进制
Edm.Double 双精度
Edm.Single
Edm.Guid Guid
Edm.Int16 Int16
Edm.Int32 Int32
Edm.Int64 Int64
Edm.SByte Int16
Edm.String 字符串
Edm.Time TimeSpan
Edm.DateTimeOffset DateTimeOffset

Lookup 活动属性

若要了解有关属性的详细信息,请查看 Lookup 活动

为了获取复制活动支持的数据源和汇集列表,请参阅支持的数据存储