Azure Data Factory または Synapse Analytics を使用して Web テーブルからデータをコピーする

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新たに試用を開始する方法については、こちらをご覧ください。

この記事では、Azure Data Factory または Synapse Analytics パイプラインで Copy アクティビティを使用して、Web テーブル データベースからデータをコピーする方法について説明します。 この記事は、コピー アクティビティの概要を示しているコピー アクティビティの概要に関する記事に基づいています。

この Web テーブル コネクタ、REST コネクタおよび HTTP コネクタの違いは次のとおりです。

  • Web テーブル コネクタでは、HTML Web ページからテーブルの内容を抽出します。
  • REST コネクタでは、具体的には RESTful API からのデータのコピーがサポートされます。
  • HTTP コネクタでは一般的に、HTTP エンドポイントからデータを取得します (たとえば、ファイルをダウンロードします)。

サポートされる機能

この Web テーブル コネクタでは、次の機能がサポートされます。

サポートされる機能 IR
Copy アクティビティ (ソース/-) 1
Lookup アクティビティ 1

① Azure 統合ランタイム ② セルフホステッド統合ランタイム

ソースおよびシンクとしてサポートされているデータ ストアの一覧については、サポートされるデータ ストアに関する表を参照してください。

具体的には、この Web テーブル コネクタは、HTML ページからのテーブル コンテンツの抽出をサポートしています。

前提条件

この Web テーブル コネクタを使用するには、セルフホステッド Integration Runtime を設定する必要があります。 詳細については、セルフホステッド統合ランタイムに関する記事をご覧ください。

作業の開始

パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用します。

UI を使用して Web Table のリンク サービスを作成する

次の手順を使用して、Azure portal UI で Web Table のリンク サービスを作成します。

  1. Azure Data Factory または Synapse ワークスペースの [管理] タブに移動し、[リンクされたサービス] を選択して、[新規] をクリックします。

  2. Web を検索し、Web Table コネクタを選択します。

    Select the Web Table connector.

  3. サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。

    Configure a linked service to Web Table.

コネクタの構成の詳細

次のセクションでは、Web テーブル コネクタに固有の Data Factory エンティティの定義に使用されるプロパティについて詳しく説明します。

リンクされたサービスのプロパティ

Web テーブルのリンクされたサービスでは、次のプロパティがサポートされます。

プロパティ Description 必須
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 に設定します。 次のプロパティがサポートされています。

プロパティ Description 必須
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 menu

  3. [Web から] ダイアログ ボックスで、リンクされたサービスの JSON で使用する URL を入力し (例: https://en.wikipedia.org/wiki/)、データセットに指定するパスを入力し (例: AFI%27s_100_Years...100_Movies)、[OK] をクリックします。

    From Web dialog

    この例で使用される URL は https://en.wikipedia.org/wiki/AFI%27s_100_Years...100_Movies です。

  4. [Web コンテンツへのアクセス] ダイアログ ボックスが表示された場合、適切な URL認証を選択し、 [接続] をクリックします。

    Access Web content dialog box

  5. ツリー ビューのテーブル アイテムをクリックしてテーブルのコンテンツを表示し、一番下にある [編集] をクリックします。

    Navigator dialog

  6. [クエリ エディター] ウィンドウで、ツール バーの [詳細エディター] をクリックします。

    Advanced Editor button

  7. [詳細エディター] ダイアログ ボックスで、"Source" の横にある数字はインデックスです。

    Advanced Editor - Index

Excel 2013 を使用している場合、 Microsoft Power Query for Excel を使用してインデックスを取得します。 詳細については、「 Web ページに接続する 」を参照してください。 Microsoft Power BI for Desktopの使用時と手順は同じです。

Lookup アクティビティのプロパティ

プロパティの詳細については、Lookup アクティビティに関するページを参照してください。

Copy アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。