Azure Data Factory または Synapse Analytics を使用して Dynamics AX からデータをコピーする

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

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

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

サポートされる機能

この Dynamics AX コネクタでは、次の機能をサポートしています。

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

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

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

具体的には、この Dynamics AX コネクタは、OData プロトコルサービス プリンシパル認証を使用した Dynamics AX からのデータ コピーをサポートしています。

ヒント

Dynamics 365 Finance and Operations からデータをコピーするために、このコネクタを使用することもできます。 Dynamics 365 の OData のサポート認証方法に関するページを参照してください。

はじめに

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

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

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

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

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

    Select the Dynamics AX connector.

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

    Configure a linked service to Dynamics AX.

コネクタの構成の詳細

以降のセクションでは、Dynamics AX コネクタに固有の Data Factory エンティティを定義するために使用できるプロパティについて詳細に説明します。

前提条件

サービス プリンシパル認証を使用するには、次の手順のようにします。

  1. Microsoft ID プラットフォームにアプリケーションを登録します。 方法については、「クイック スタート: Microsoft ID プラットフォームにアプリケーションを登録する」を参照してください。 これらの値を記録しておきます。リンクされたサービスを定義するときに使います。

    • アプリケーション ID
    • アプリケーション キー
    • テナント ID
  2. Dynamics AX に移動し、このサービス プリンシパルに Dynamics AX にアクセスするための適切なアクセス許可を付与します。

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

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

プロパティ Description 必須
type type プロパティを DynamicsAX に設定する必要があります。 はい
url Dynamics AX (または Dynamics 365 Finance および Operations) インスタンスの OData エンドポイント。 はい
servicePrincipalId アプリケーションのクライアント ID を取得します。 はい
servicePrincipalKey アプリケーションのキーを取得します。 このフィールドを SecureString とマークして安全に保存するか、Azure Key Vault に保存されているシークレットを参照します。 はい
tenant アプリケーションが存在するテナントの情報 (ドメイン名またはテナント ID) を指定します。 Azure portal の右上隅にマウスを置くことで取得します。 はい
aadResourceId 認可を要求する AAD リソースを指定します。 たとえば、Dynamics の URL が https://sampledynamics.sandbox.operations.dynamics.com/data/ である場合、対応する AAD リソースは通常 https://sampledynamics.sandbox.operations.dynamics.com となります。 はい
connectVia データ ストアに接続するために使用される Integration Runtime。 Azure Integration Runtime またはセルフホステッド統合ランタイムを選択できます (データ ストアがプライベート ネットワークに配置されている場合)。 指定されていない場合は、既定の Azure Integration Runtime が使用されます。 いいえ

{
    "name": "DynamicsAXLinkedService",
    "properties": {
        "type": "DynamicsAX",
        "typeProperties": {
            "url": "<Dynamics AX instance OData endpoint>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "aadResourceId": "<AAD resource, e.g. https://sampledynamics.sandbox.operations.dynamics.com>"
        }
    },
    "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
    }
}

データセットのプロパティ

このセクションでは、Dynamics AX データセットでサポートされているプロパティの一覧を示します。

データセットの定義に使用できるセクションとプロパティの完全な一覧については、「データセットとリンクされたサービス」を参照してください。

Dynamics AX からデータをコピーするには、データセットの type プロパティを DynamicsAXResource に設定します。 次のプロパティがサポートされています。

プロパティ Description 必須
type データセットの type プロパティは、DynamicsAXResource に設定する必要があります。 はい
path Dynamics AX OData エンティティのパス。 はい

{
    "name": "DynamicsAXResourceDataset",
    "properties": {
        "type": "DynamicsAXResource",
        "typeProperties": {
            "path": "<entity path e.g. dd04tentitySet>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Dynamics AX linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

コピー アクティビティのプロパティ

このセクションでは、Dynamics AX ソースでサポートされているプロパティの一覧を示します。

アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。

ソースとしての Dynamics AX

Dynamics AX からデータをコピーするは、コピー アクティビティの source の種類を DynamicsAXSource に設定します。 コピー アクティビティの source セクションでは、次のプロパティがサポートされます。

プロパティ Description 必須
type コピー アクティビティのソースの type プロパティは DynamicsAXSource に設定する必要があります はい
query データをフィルター処理するための OData クエリ オプション。 例: "?$select=Name,Description&$top=5".

:コネクタは、次の結合された URL からデータをコピーします。[URL specified in linked service]/[path specified in dataset][query specified in copy activity source] 詳細については、OData の URL コンポーネントに関するページを参照してください。
いいえ
httpRequestTimeout HTTP 要求が応答を取得する際のタイムアウト (TimeSpan 値)。 この値は、応答データの読み取りのタイムアウトではなく、応答の取得のタイムアウトです。 指定しない場合は、既定値の 00:05:00 (5 分) が使用されます。 いいえ

"activities":[
    {
        "name": "CopyFromDynamicsAX",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Dynamics AX input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "DynamicsAXSource",
                "query": "$top=10"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

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

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

コピー アクティビティでソースおよびシンクとしてサポートされているデータ ストアの一覧については、「サポートされるデータ ストアと形式」を参照してください。