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

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

Data Factory in Microsoft Fabric は、よりシンプルなアーキテクチャ、組み込みの AI、および新機能を備えた次世代のAzure Data Factoryです。 データ統合を初めて使用する場合は、Fabric Data Factory から始めます。 既存の ADF ワークロードをFabricにアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。

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

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

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

サポートされる機能

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

サポートされる機能 IR
コピー アクティビティ (ソース/-)
検索アクティビティ

(1) Azure統合ランタイム (2) セルフホステッド統合ランタイム

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

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

前提条件

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

作業の開始

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

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

Azure ポータル UI で Web テーブルへのリンクされたサービスを作成するには、次の手順に従います。

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

    Azure Data Factory UI で新しいリンクサービスを作成します。

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

    Web Table コネクタを選択します。

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

    Web Table のリンク サービスを構成します。

コネクタの構成の詳細

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

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

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

プロパティ 内容 必須
type プロパティは、次のように設定する必要があります:Web はい
url Web ソースへの URL はい
認証タイプ 使用可能な値:Anonymous はい
connectVia データ ストアへの接続に使用するIntegration RuntimePrerequisitesで説明されているように、セルフホステッド Integration Runtime が必要です。 はい

例:

{
    "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 プロパティは、次のように設定する必要があります:WebTable に設定する必要があります はい
パス テーブルを含むリソースの相対 URL。 いいえ。 パスが指定されていない場合は、リンクされたサービス定義で指定された URL のみが使用されます。
インデックス リソースのテーブルのインデックス。 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"
        }
    }
}

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

アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、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 ページのテーブルのインデックスを取得する

dataset プロパティで構成する必要があるテーブルのインデックスを取得するには、次のようにツールとしてExcel 2016などを使用できます。

  1. Excel 2016 を起動し、Data タブに切り替えます。

  2. ツール バーの [新しいクエリ] を選択し、[ 他のソースから ] をポイントして [ Web から] を選択します。

    Power Query メニュー

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

    Web ダイアログから

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

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

    [Access Web コンテンツ] ダイアログ ボックス

  5. ツリー ビューで テーブル 項目を選択してテーブルの内容を表示し、下部にある [編集] ボタンを選択します。

    [ナビゲーター] ダイアログ

  6. クエリ エディター ウィンドウで、ツール バー 詳細エディターボタンを選択します。

    [詳細エディター] ボタン

  7. [詳細エディター] ダイアログ ボックスの [ソース] の横にある番号がインデックスです。

    詳細エディター - インデックス

Excel 2013 を使用している場合は、Web ページへの接続に関する記事を使用して詳細を確認してください。 Microsoft Power BI for Desktop を使用している場合、手順は似ています。

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

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

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