Dynamics 365 Business Central
Dynamics 365 Business Central コネクタを使用すると、Dynamics 365 Business Central データに対して、挿入、削除、更新、読み取りオペレーションを実行できます。
サポート対象のバージョン
このコネクタは、次のバージョンをサポートしています。
始める前に
Dynamics 365 コネクタを使用する前に、次の作業を行います。
- Google Cloud プロジェクトで次の操作を行います。
- ネットワーク接続が設定されていることを確認します。ネットワーク パターンの詳細については、Network Connectivity をご覧ください。
- 次のサービスを有効にします。
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
サービスを有効にする方法については、サービスを有効にするをご覧ください。
以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。
コネクタを構成する
接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。
- Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。
- [+ 新規作成] をクリックして [接続の作成] ページを開きます。
- [ロケーション] セクションで、接続のロケーションを選択します。
- リージョン: プルダウン リストからロケーションを選択します
コネクタをサポートしているリージョンは次のとおりです。
サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。
- [次へ] をクリックします。
- リージョン: プルダウン リストからロケーションを選択します
- [接続の詳細] セクションで、次の操作を行います。
- コネクタ: 使用可能なコネクタのプルダウン リストから [Dynamics 365 Business Central] を選択します。
- コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
- [接続名] フィールドに、接続インスタンスの名前を入力します。
接続名は次の条件を満たす必要があります。
- 接続名には英字、数字、ハイフンを使用できます。
- 文字は小文字のみを使用できます。
- 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
- 接続名は 49 文字以内で指定してください。
- 必要に応じて、接続インスタンスの [説明] を入力します。
- 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトのログレベルは
Error
に設定されています。 - サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
- (省略可)接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
- Azure テナント: データへのアクセスに使用されている Microsoft Online テナントを指定します。指定しない場合、デフォルトのテナントが使用されます。
- 会社: Dynamics 365 で設定した会社名を指定します。この情報は、Dynamics 365 Business Central の [会社情報] ページで確認できます。
- エンドポイントのタイプ: OrganizationUrl が解決するエンドポイントのタイプを指定します。
- ナビゲーション プロパティを含める: 列のリストにナビゲーション プロパティを含めるかどうかを指定します。ナビゲーション プロパティを使用すると、2 つのエンティティ タイプ間の関連付けを移動できます。
- サンドボックスを使用する: サンドボックスを使用するかどうかを指定します。
- ユーザー定義ビュー: カスタムビューを定義する JSON 構成ファイルのファイルパスを指定します。
- [+ ラベルを追加] をクリックして、Key-Value ペアの形式で接続にラベルを追加します。
- (省略可)SSL を使用する場合は、[SSL を有効にする] を選択します。これにより、SSL 構成の詳細が表示されます。
- トラストストアの種類を選択します。[パブリック]、[プライベート]、[安全でない接続] のいずれかになります。
- トラストストアの選択に基づいて表示される証明書を選択します。
- mTLS を使用している場合は、[Key Store] セクションでキーストア証明書を選択します。
- [次へ] をクリックします。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、 接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- [認証タイプ] を選択し、関連する詳細を入力します。
Dynamics 365 Business Central 接続でサポートされる認証タイプは次のとおりです。
- アクセスキー
- OAuth 2.0 - クライアント認証情報
- Azure AD
- [次へ] をクリックします。
これらの認証タイプの構成方法については、認証を構成するをご覧ください。
認証を構成する
使用する認証に基づいて詳細を入力します。
-
アクセスキー
- ユーザー名: Microsoft Dynamics 365 Business Central サーバーの認証に使用される Dynamics 365 OnPremise アカウントのユーザー名を指定します。
- パスワード: Dynamics 365 OnPremise アカウントのパスワードを含むシークレットを選択します。
- シークレットのバージョン: Secret のバージョンを選択します。
- アクセスキー: Microsoft Dynamics 365 Business Central の認証に使用するアクセスキーを指定します。
- OAuth 2.0 クライアント認証情報
- クライアント ID: 作成したアプリのクライアント ID を指定します。
- クライアント シークレット: 作成した接続されているアプリのクライアント シークレットを含む Secret Manager のシークレットを指定します。
- シークレットのバージョン: クライアント シークレットのバージョンを選択します。
-
Azure AD
- クライアント ID: アクセス トークンのリクエストに使用するクライアント ID を指定します。これは、Azure Portal で作成した接続アプリの概要で確認できます。
- スコープ: 必要なスコープをカンマ区切りのリストで指定します。
- クライアント シークレット: アカウント アクセスキーを含む Secret Manager のシークレットを指定します。
- 認可 URL: OAuth クライアントの作成時に生成した認可 URL を入力します。URL は
https://login.microsoftonline.com/TENANT_IDENTIFIER/oauth2/v2.0/authorize?prompt=consent
の形式で入力します。 例:https://login.microsoftonline.com/9bxxxxxxxxx8112/oauth2/v2.0/authorize?prompt=consent
。
接続構成のサンプル
このセクションでは、接続を作成するときに構成するさまざまなフィールドのサンプル値を示します。
OAuth 2.0 - クライアント認証情報の接続タイプ
フィールド名 | 詳細 |
---|---|
ロケーション | europe-west1 |
コネクタ | Dynamics365BusinessCentral |
コネクタのバージョン | 1 |
接続名 | dynamics-businesscentral-conn |
Cloud Logging を有効にする | ○ |
サービス アカウント | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
Azure テナント | c9f472d9-7d8a-44cf-8ee0-458d32e26bce |
会社 | Organization_Name |
ノードの最小数 | 2 |
ノードの最大数 | 50 |
組織の URL | https://api.businesscentral.dynamics.com/v2.0/c9f472d9-7d8a-44cf-8ee0-458d32e26bce/production/api/v2.0 |
認証 | OAuth 2.0 - クライアント認証情報 |
クライアント ID | fd04bae4-c30c-4faf-bbae-9263d4d96d61 |
クライアント シークレット | projects/617888503870/secrets/businesscentral-client-secret |
シークレットのバージョン | 1 |
アクセスキーの接続タイプ
フィールド名 | 詳細 |
---|---|
ロケーション | europe-west1 |
コネクタ | Dynamics365BusinessCentral |
コネクタのバージョン | 1 |
接続名 | dynamics-businesscentral-on-prem-conn |
Cloud Logging を有効にする | ○ |
サービス アカウント | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
Azure テナント | BC250 |
会社 | Altostart Ltd. |
ノードの最小数 | 2 |
ノードの最大数 | 50 |
組織の URL | http://10.128.0.78:7059/BC250/ODataV4 |
認証 | アクセスキー |
ユーザー名 | businesscentral |
パスワード | パスワード |
シークレットのバージョン | 1 |
アクセスキー | OQq9qggeWxt9iZPSWrs8wgfNjsAq06PT2uls7Luhbp8= |
シークレットのバージョン | 1 |
Azure AD 接続の種類
フィールド名 | 詳細 |
---|---|
ロケーション | europe-west1 |
コネクタ | Dynamics365BusinessCentral |
コネクタのバージョン | 1 |
接続名 | d365-business-central-oauth |
Cloud Logging を有効にする | ○ |
サービス アカウント | my-service-account@my-project.iam.gserviceaccount.com |
Azure テナント | c9f472d9-7d8a-44cf-8ee0-458d32e26bce |
会社 | Altostart Ltd. |
ノードの最小数 | 2 |
ノードの最大数 | 50 |
組織の URL | https://api.businesscentral.dynamics.com/v2.0/c9f472d9-7d8a-44cf-8ee0-458d32e26bce/production/api/v2.0 |
認証 | AzureAD |
クライアント ID | fd04bae4-c30c-4faf-bbae-9263d4d96d61 |
スコープ | https://api.businesscentral.dynamics.com/.default |
クライアント シークレット | projects/617888503870/secrets/d365bc-secret |
シークレットのバージョン | 3 |
認証 URL | https://login.microsoftonline.com/c9f472d9-7d8a-44cf-8ee0-458d32e26bce/oauth2/v2.0/authorize |
Dynamics 365 Business Central ワークスペースの作成方法については、Dynamics 365 Business Central へようこそをご覧ください。
Dynamics 365 Business Central API の詳細については、Dynamics365BusinessCentral API リファレンスをご覧ください。
システムの上限
Dynamics 365 Business Central コネクタは、ノードごとに 1 秒あたり最大 25 件のトランザクションを処理することができ、この上限を超えるトランザクションはすべてスロットルされます。デフォルトでは、Integration Connectors は、接続に 2 つのノードを割り当てます(可用性を高めるため)。
Integration Connectors に適用される上限の詳細については、上限をご覧ください。
統合で Dynamics 365 Business Central 接続を使用する
接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。
- Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
- Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
エンティティ オペレーションの例
このセクションでは、このコネクタでエンティティ オペレーションの一部を実行する方法について説明します。
例 - すべての販売注文を一覧表示する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からsalesOrders
を選択します。- [
List
] オペレーションを選択し、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、filterClause を設定できます。
フィルタ句の値は単一引用符(')で囲む必要があります。フィルタ句を使用すると、列に基づいてレコードをフィルタできます。
例 - 販売注文を取得する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からsalesOrders
を選択します。- [
Get
] オペレーションを選択し、[完了] をクリックします。 - エンティティ ID を「841c04f9-3391-ef11-8a6b-002248d4e29e」に設定します。これは渡されるキーです。エンティティ ID を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに
"841c04f9-3391-ef11-8a6b-002248d4e29e"
を入力し、EntityId をローカル変数として選択します。エンティティ ID の値は直接渡す必要があります(「841c04f9-3391-ef11-8a6b-002248d4e29e」など)。ここで、「841c04f9-3391-ef11-8a6b-002248d4e29e」は一意の主キー値です。
2 つの複合キーが存在するため、単一のエンティティ ID を渡すとエラーが発生する場合は、フィルタ句を使用して値を渡すことができます。
例 - 販売注文を削除する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からsalesOrders
を選択します。- [
DELETE
] オペレーションを選択し、[完了] をクリックします。 - エンティティ ID を「841c04f9-3391-ef11-8a6b-002248d4e29e」に設定します。これは渡されるキーです。エンティティ ID を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに
"841c04f9-3391-ef11-8a6b-002248d4e29e"
を入力し、EntityId をローカル変数として選択します。エンティティに 2 つの複合ビジネスキーまたは主キーがあり、entityId を指定する代わりに、filterClause を
id='841c04f9-3391-ef11-8a6b-002248d4e29e'
に設定することもできます。
例 - 販売注文を作成する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からsalesOrders
を選択します。- [
Create
] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editor
をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload をローカル変数として選択します。{ "orderDate": "2024-10-30", "customerNumber": "10000", "currencyCode": "INR", "paymentTermsId": "590d75c5-f26e-ef11-a678-6045bdc89b07" }
統合が成功すると、
salesOrders
タスクのconnectorOutputPayload
レスポンス パラメータの値は次のようになります。{ "id": "2e048d8a-a796-ef11-8a6b-6045bdae882d" }
例 - 販売注文行を作成する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からsalesOrderLines
を選択します。- [
Create
] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editor
をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload をローカル変数として選択します。{ "documentId": "b747cc93-c37f-ef11-ac23-7c1e523b4365", "sequence": 10014, "itemId": "8b0f75c5-f26e-ef11-a678-6045bdc89b07", "lineType": "Item", "lineObjectNumber": "1996-S" }
統合が成功すると、
salesOrderLines
タスクのconnectorOutputPayload
レスポンス パラメータの値は次のようになります。{ "id": "35535130-d09d-ef11-8a6b-002248d4cc93" }
例 - 販売見積もりを作成
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からsalesQuotes
を選択します。- [
Create
] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editor
をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload をローカル変数として選択します。{ "paymentTermsId": "590d75c5-f26e-ef11-a678-6045bdc89b07", "currencyCode": "INR", "customerNumber": "30000" }
統合が成功すると、
salesQuotes
タスクのconnectorOutputPayload
レスポンス パラメータの値は次のようになります。{ "id": "2116bd4e-3ba3-ef11-8a6b-6045bdacfb5e" }
例 - 注文書を作成する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からpurchaseOrders
を選択します。- [
Create
] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editor
をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload をローカル変数として選択します。{ "vendorId": "7e0f75c5-f26e-ef11-a678-6045bdc89b07", "vendorNumber": "10000" }
統合が成功すると、
purchaseOrders
タスクのconnectorOutputPayload
レスポンス パラメータの値は次のようになります。{ "id": "53389ee7-a796-ef11-8a6b-6045bdae882d" }
例 - アイテムを作成する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からitems
を選択します。- [
Create
] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editor
をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload をローカル変数として選択します。{ "number": "4000-D", "displayName": "Charlie Altostrat", "type": "Inventory", "itemCategoryId": "d61672cb-f26e-ef11-a678-6045bdc89b07", "baseUnitOfMeasureCode": "PCS" }
統合が成功すると、
items
タスクのconnectorOutputPayload
レスポンス パラメータの値は次のようになります。{ "id": "fad09437-8d9e-ef11-8a6b-000d3af0e092" }
例 - 販売注文を更新する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からsalesOrders
を選択します。- [
Update
] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editor
をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload/FilterClause をローカル変数として選択します。{ "phoneNumber": "7764872993" }
- データマッパーでエンティティ ID を salesOrders のエンティティに設定します。エンティティ ID を設定するには、[
Open Data Mapping Editor
] をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload/FilterClause をローカル変数として選択します。[entityId] を指定する代わりに、[filterClause] を
id ='5e9226d3-1c7b-ef11-a671-6045bdaef76c'
に設定することもできます。
例 - 販売注文行を更新する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からsalesOrderLines
を選択します。- [
Update
] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editor
をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload/FilterClause をローカル変数として選択します。{ "description": "Test from Altostrat" }
- データマッパーでエンティティ ID を salesOrderLines のエンティティに設定します。エンティティ ID を設定するには、[
Open Data Mapping Editor
] をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload/FilterClause をローカル変数として選択します。[entityId] を指定する代わりに、[filterClause] を
id ='35535130-d09d-ef11-8a6b-002248d4cc93'
に設定することもできます。
例 - 販売見積もりを更新する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からsalesQuotes
を選択します。- [
Update
] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editor
をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload/FilterClause をローカル変数として選択します。{ "currencyCode": "USD" }
- データマッパーでエンティティ ID を salesQuotes のエンティティに設定します。エンティティ ID を設定するには、[
Open Data Mapping Editor
] をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload/FilterClause をローカル変数として選択します。[entityId] を指定する代わりに、[filterClause] を
id='2116bd4e-3ba3-ef11-8a6b-6045bdacfb5e'
に設定することもできます。
例 - 注文書を更新する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からpurchaseOrders
を選択します。- [
Update
] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editor
をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload/FilterClause をローカル変数として選択します。{ "shipToName": "Charlie Cruz" }
- Data Mapper でエンティティ ID を purchaseOrders のエンティティに設定します。エンティティ ID を設定するには、[
Open Data Mapping Editor
] をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload/FilterClause をローカル変数として選択します。[entityId] を指定する代わりに、[filterClause] を
id ='6b88738e-3891-ef11-8a6b-002248d4e29e'
に設定することもできます。
例 - アイテムを更新する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からitems
を選択します。- [
Update
] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editor
をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload/FilterClause をローカル変数として選択します。{ "displayName": "Updates Altostrat name" }
- データマッパーでエンティティ ID をアイテムのエンティティに設定します。エンティティ ID を設定するには、[
Open Data Mapping Editor
] をクリックし、[Input Value
] フィールドに次のような値を入力し、EntityId/ConnectorInputPayload/FilterClause をローカル変数として選択します。[entityId] を指定する代わりに、[filterClause] を
id ='fad09437-8d9e-ef11-8a6b-000d3af0e092'
に設定することもできます。
Google Cloud コミュニティの助けを借りる
Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。次のステップ
- 接続を一時停止して再開する方法を確認する。
- コネクタの使用状況をモニタリングする方法を確認する。
- コネクタログを表示する方法を確認する。