Microsoft Dynamics 365 Business Centralからデータを転送する設定のDocsです。
接続に関する設定については、Microsoft Dynamics 365 Business Central 接続情報を参照ください。
制約
- APIタイプにOData V4 Webサービスを指定した場合、Webサービスとして公開したオブジェクトの種類がクエリ(Query)のときは、以下の制約があります。ページ(Page)を公開したWebサービスにはこの制約はありません。
- ソート指定(
$orderby)を利用できません。Business Central側が対応しておらず、リクエストがエラー(BadRequest_MethodNotImplemented)になります。ソートが必要な場合は、クエリオブジェクトの定義(OrderBy句)にソート順を含めることを検討してください。 - 差分転送を利用できません。差分転送では増分データを判別するカラムによるソート指定を自動で行うためです。
- ソート指定(
設定項目
STEP1 基本設定
| 項目名 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
| Microsoft Dynamics 365 Business Central接続情報 | ✓ | - | あらかじめ登録してあるMicrosoft Dynamics 365 Business Centralの接続情報から、今回の転送設定に必要な権限を持つものを選択します。 |
| 環境名 | ✓ | - | 接続先の環境名を入力します。Business Central管理センターに表示される環境の名前を入力してください。 入力例: production |
| APIタイプ | ✓ | REST API v2.0 | データの取得に利用するAPIの種類を選択します。
|
| APIパブリッシャー | ✓ | - | APIタイプにカスタムAPIを指定した際に設定します。カスタムAPIの定義(APIPublisherプロパティ)で指定した発行者名を入力します。入力例: contoso |
| APIグループ | ✓ | - | APIタイプにカスタムAPIを指定した際に設定します。カスタムAPIの定義(APIGroupプロパティ)で指定したグループ名を入力します。入力例: powerBI |
| APIバージョン | ✓ | - | APIタイプにカスタムAPIを指定した際に設定します。カスタムAPIの定義(APIVersionプロパティ)で指定したバージョンを入力します。入力例: v1.0 |
| テナントIDまたはユーザードメイン名 | - | - | Microsoft Entra IDのテナントIDまたは初期ドメイン名を入力します。 未指定の場合は、接続情報の認証情報に紐づくテナントが使用されます。 入力例: contoso.onmicrosoft.com |
| 企業ID | ✓ | - | データを取得したい企業のIDを入力します。接続情報と環境名を指定すると、企業の一覧を取得して選択することもできます。 |
| 取得対象 (リソース) | ✓ | - | 取得したいデータの種類を入力します。APIタイプに応じて、APIリソース名またはWebサービスとして公開した名前を入力します。 入力例: customers詳しくは後述のリクエストURLと設定項目の対応を参照ください。 |
| 選択フィールド | - | - | 取得したいフィールドをカンマ区切りで入力します。$selectとしてリクエストされます。未指定の場合は全フィールドが取得されます。入力例: id,displayName,number |
| 展開フィールド | - | - | 取得対象のレコードに関連するリソース(ナビゲーションプロパティ)を結果に含めて取得したい場合に、対象のナビゲーションプロパティをカンマ区切りで入力します。$expandとしてリクエストされます。展開フィールドの自動指定よりも優先されます。入力例:取得対象 (リソース)に salesInvoicesを指定した場合、salesInvoiceLinesを入力すると販売請求書に明細行を含めて取得できます。 |
| 転送方法 | - | 全データ転送 | 全データ転送・差分転送のいずれかを選択します。 差分転送について、詳しくは差分転送機能を参照ください。 APIタイプにOData V4 Webサービスを指定し、取得対象がクエリ(Query)の場合は差分転送を利用できません。詳しくは前述の制約を参照ください。 |
| 増分データを判別するカラム | ✓ | - | 転送方法に差分転送を指定した際に設定します。差分転送に使用するタイムスタンプ型のカラムを入力します。 入力例: lastModifiedDateTime |
| 最後に転送されたレコード | - | - | 転送方法に差分転送を指定した際に設定できます。ここで指定された値より新しいデータを転送します。未指定の場合は最初から転送します。 特別な理由がない限り、この値を変更しないでください。データの重複が起こる可能性があります。 |
| フィルター条件 | - | - | $filter に設定するフィルター条件を入力します。and や or で複合条件を指定できます。差分転送の場合は、増分データを判別するカラムによる絞り込みと and で結合されます。 |
| ソート指定 | - | - | $orderby に設定するソート指定をカンマ区切りで入力します。差分転送の場合は指定できません。APIタイプにOData V4 Webサービスを指定し、取得対象がクエリ(Query)の場合は利用できません。詳しくは前述の制約を参照ください。 |
リクエストURLと設定項目の対応
TROCCOは、STEP1 基本設定の設定値を組み合わせて、以下の形式のURLでBusiness CentralのAPIにリクエストします。
すでにリクエストURLがわかっている場合は、URLの各セグメントを対応する設定項目に入力してください。
REST API v2.0の場合
https://api.businesscentral.dynamics.com/v2.0/{テナントIDまたはユーザードメイン名}/{環境名}/api/v2.0/companies({企業ID})/{取得対象 (リソース)}
OData V4 Webサービスの場合
https://api.businesscentral.dynamics.com/v2.0/{テナントIDまたはユーザードメイン名}/{環境名}/ODataV4/Company(Id={企業ID})/{取得対象 (リソース)}
カスタムAPIの場合
https://api.businesscentral.dynamics.com/v2.0/{テナントIDまたはユーザードメイン名}/{環境名}/api/{APIパブリッシャー}/{APIグループ}/{APIバージョン}/companies({企業ID})/{取得対象 (リソース)}
たとえば、カスタムAPIのリクエストURLが以下の場合を考えます。
https://api.businesscentral.dynamics.com/v2.0/production/api/contoso/powerBI/v1.0/companies(00000000-0000-0000-0000-000000000000)/customers
このURLは、各設定項目に以下のように入力することに対応します。
| 設定項目 | 入力値 |
|---|---|
| 環境名 | production |
| APIパブリッシャー | contoso |
| APIグループ | powerBI |
| APIバージョン | v1.0 |
| 企業ID | 00000000-0000-0000-0000-000000000000 |
| 取得対象 (リソース) | customers |
テナントIDまたはユーザードメイン名が未指定の場合、上記の例のようにURLにテナントのセグメントは含まれず、接続情報の認証情報に紐づくテナントが使用されます。
カスタムAPIの定義について、詳しくはMicrosoft Learnのドキュメントを参照ください。
STEP1 詳細設定
詳細設定をクリックすると、設定項目が表示されます。
| 項目名 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
| 一度に取得する行数 | ✓ | 15000 | 一度のリクエストで取得する行数を指定します。転送実行時のみに適用され、自動データ設定・プレビュー時には適用されません。 |
| 接続タイムアウト (ミリ秒) | - | 2000 | サーバーへの接続を確立するまでのタイムアウト時間をミリ秒単位で指定します。 |
| 読み込みタイムアウト (ミリ秒) | - | 10000 | サーバーからのレスポンスを待機する最大時間をミリ秒単位で指定します。 |
| 最大リトライ回数 | - | 5 | エラー発生時の最大リトライ回数を指定します。 |
| リクエスト間隔 (ミリ秒) | - | 0 | リクエスト間の待機時間をミリ秒単位で指定します。サーバー負荷を軽減するために使用します。 |
STEP2 入力オプション
STEP1で設定できた一部の設定項目は、STEP2の入力オプションで変更できます。
STEP1に戻らずとも設定値を変更できます。プレビューが意図通りにならない場合にご活用ください。
以下の設定項目を変更できます。
- 展開フィールド
- フィルター条件
- ソート指定
- 一度に取得する行数
- 接続タイムアウト (ミリ秒)
- 読み込みタイムアウト (ミリ秒)
- 最大リトライ回数
- リクエスト間隔 (ミリ秒)