使用 Azure 数据工厂从 Web 表复制数据

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

本文概述了如何使用 Azure 数据工厂中的复制活动从 Web 表数据库复制数据。 它是基于概述复制活动总体的复制活动概述一文。

此 Web 表连接器、REST 连接器HTTP 连接器之间的区别如下:

  • Web 表连接器 用于从 HTML 网页中提取表内容。
  • REST 连接器 专门支持从 RESTful API 复制数据。
  • HTTP 连接器 是通用的,可从任何 HTTP 终结点检索数据,以执行文件下载等操作。

支持的功能

以下活动支持此 Web 表连接器:

可以将数据从 Web 表数据库复制到任何支持的接收器数据存储。 有关复制活动支持作为源/接收器的数据存储列表,请参阅支持的数据存储表。

具体而言,此 Web 表连接器支持 从 HTML 页提取表内容

先决条件

若要使用此 Web 表连接器,需要设置自托管集成运行时。 有关详细信息,请参阅自承载集成运行时一文。

入门

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

对于特定于 Web 表连接器的数据工厂实体,以下部分提供有关用于定义这些实体的属性的详细信息。

链接服务属性

Web 表链接的服务支持以下属性:

属性 说明 必需
type type 属性必须设置为:Web
url Web 源的 URL
authenticationType 允许的值为:Anonymous
connectVia 用于连接到数据存储的集成运行时。 如先决条件中所述,需要自承载集成运行时。

示例:

{
    "name": "WebLinkedService",
    "properties": {
        "type": "Web",
        "typeProperties": {
            "url" : "https://en.wikipedia.org/wiki/",
            "authenticationType": "Anonymous"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

数据集属性

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

要从 Web 表复制数据,请将数据集的 type 属性设置为“WebTable” 。 支持以下属性:

属性 说明 必需
type 数据集的 type 属性必须设置为:WebTable
path 包含表的资源的相对 URL。 否。 未指定路径时,仅使用链接服务定义中指定的 URL。
index 资源中表的索引。 请参阅获取 HTML 页中表的索引,了解获取 HTML 页中表的索引的步骤。

示例:

{
    "name": "WebTableInput",
    "properties": {
        "type": "WebTable",
        "typeProperties": {
            "index": 1,
            "path": "AFI's_100_Years...100_Movies"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Web linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

复制活动属性

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

Web 表作为源

要从 Web 表复制数据,请将复制活动中的源类型设置为“WebSource” ,不支持任何其他属性。

示例:

"activities":[
    {
        "name": "CopyFromWebTable",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Web table input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "WebSource"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

获取 HTML 页中表的索引

若要获取表的索引(需要在数据集属性中进行配置),可以使用例如 Excel 2016 作为工具,如下所示:

  1. 启动 Excel 2016,并切换到“数据” 选项卡。

  2. 单击工具栏中的“新建查询” ,指向“从其他源” ,并单击“从 Web” 。

    Power Query 菜单

  3. 在“从 Web”对话框中,输入要在链接服务 JSON 中使用的 URL(例如: https://en.wikipedia.org/wiki/) )以及要为数据集指定的路径(例如 :AFI%27s_100_Years...100_Movies),并单击“确定” 。

    “从 Web”对话框

    此示例中使用的 URL: https://en.wikipedia.org/wiki/AFI%27s_100_Years...100_Movies

  4. 如果出现“访问 Web 内容” 对话框,请选择正确的 URL身份验证,并单击“连接” 。

    “访问 Web 内容”对话框

  5. 单击树视图中的“表” 项,查看表中的内容,并单击底部的“编辑” 按钮。

    “导航器”对话框

  6. 在“查询编辑器” 窗口中,单击工具栏上的“高级编辑器” 按钮。

    “高级编辑器”按钮

  7. 在“高级编辑器”对话框中,“源”旁边的编号为索引。

    高级编辑器 - 索引

如果使用的是 Excel 2013,请使用 Microsoft Power Query for Excel 获取索引。 有关详细信息,请参阅连接到网页一文。 如果使用的是 Microsoft Power BI for Desktop,步骤与之类似。

Lookup 活动属性

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

后续步骤

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