適用対象: Azure Logic Apps (従量課金 + Standard)
Azure Logic Apps を使用して作成したワークフローで AS2 メッセージを送受信するには、 AS2 (v2) コネクタを使用します。 このコネクタは、AS2 通信をサポートおよび管理するアクションを提供します。 追跡機能が必要な場合は、元の AS2 コネクタは引き続き使用できますが、非推奨になります。
追跡機能を除き、AS2 (v2) コネクタは元の AS2 コネクタと同じ機能を提供します。 AS2 (v2) コネクタは Azure Logic Apps ランタイムでネイティブに実行され、メッセージ サイズ、スループット、待機時間のパフォーマンスが大幅に向上します。 元の AS2 コネクタとは異なり、AS2 (v2) コネクタでは、統合アカウントへの接続を作成する必要はありません。 代わりに、前提条件の説明に従って、コネクタを使用する予定のロジック アプリ リソースに統合アカウントをリンクします。
このガイドでは、AS2 (v2) と AS2 のエンコードおよびデコード アクションを既存のロジック アプリ ワークフローに追加する方法について説明します。 AS2 (v2) コネクタにはトリガーがないため、任意のトリガーを使用してワークフローを開始できます。 このガイドの例では、要求トリガーを使用します。
コネクタに関するテクニカル リファレンス
AS2 コネクタのバージョンは、 ロジック アプリの種類とホスト環境に基づいて異なります。
| ロジック アプリ | 環境 | コネクタのバージョン |
|---|---|---|
| 従量課金 | マルチテナント Azure Logic Apps | AS2 (v2) および AS2 マネージド コネクタ。コネクタ ギャラリーの [ 共有] の下に表示されます。 AS2 コネクタには、1 つのトリガーと複数のアクションがあります。 AS2 (v2) コネクタでは、アクションのみが提供されます。 シナリオに適した任意のトリガーを使用できます。 詳細については、以下を参照してください。 - AS2 マネージド コネクタの参照 - AS2 (v2) マネージド コネクタの操作 - AS2 メッセージの制限 |
| Standard | シングルテナントの Azure Logic Apps、App Service Environment v3 (Windows プランのみ)、ハイブリッド デプロイ | コネクタ ギャラリーの [ 組み込み] の下に表示される AS2 (v2) 組み込みコネクタと、コネクタ ギャラリーの [ 共有] の下に表示される AS2 マネージド コネクタ。 AS2 コネクタには、1 つのトリガーと複数のアクションがあります。 AS2 (v2) コネクタでは、アクションのみが提供されます。 シナリオに適した任意のトリガーを使用できます。 組み込みバージョンには次のような違いがあります。 - 組み込みバージョンは、Azure 仮想ネットワークに直接アクセスできます。 オンプレミス データ ゲートウェイは必要ありません。 詳細については、以下を参照してください。 - AS2 マネージド コネクタの参照 - AS2 (v2) 組み込みコネクタの操作 - AS2 メッセージの制限 |
AS2 (v2) 操作
AS2 (v2) コネクタにはトリガーがありません。 次の表は、メッセージを送信するときのセキュリティと信頼性を確立するために AS2 (v2) コネクタが提供するアクションを示しています。
| アクション | 説明 |
|---|---|
| AS2 エンコード アクション | 暗号化、デジタル署名、メッセージ処理通知 (MDN) を介した受信確認を提供します。これらは否認防止をサポートするのに役立ちます。 たとえば、このアクションでは、AS2/HTTP ヘッダーが適用され、構成されている場合は、次のタスクが実行されます: - 送信メッセージに署名します。 - 送信メッセージを暗号化します。 - メッセージを圧縮します。 - MIME ヘッダー内のファイル名を送信します。 |
| AS2 デコード アクション | メッセージ処理通知 (MDN) を使用して、復号化、デジタル署名、および受信確認を提供します。 たとえば、このアクションでは、構成されている場合は、次のタスクが実行されます: - AS2/HTTP ヘッダーを処理します。 - 受信した MDN と元の送信メッセージを調整します。 - 否認防止データベースのレコードを更新して関連付けます。 - AS2 状態レポート用のレコードを書き込みます。 - ペイロードコンテンツを base64 エンコードとして出力します。 - MDN が必要かどうかを判断します。 AS2 契約に基づいて、MDN を同期または非同期のどちらにするかを決定する。 - AS2 契約に基づいて、同期または非同期の MDN を生成します。 - MDN に対して関連付けトークンとプロパティを設定します。 - 署名を確認します。 - メッセージの暗号化を解除します。 - メッセージを展開解除します。 - メッセージ ID の重複を確認し不許可にします。 |
前提条件
Azure アカウントとサブスクリプション。 サブスクリプションをまだお持ちでない場合には、無料の Azure アカウントにサインアップしてください。
AS2 操作を使用するロジック アプリ リソースとワークフロー。
エンタープライズ統合と B2B ワークフローで使用するために成果物を定義して格納するエンタープライズ統合アカウント。
統合アカウントとロジック アプリ リソースの両方が、同じ Azure サブスクリプションおよび Azure リージョンに存在する必要があります。
ワークフローで使われる AS2 操作に参加する少なくとも 2 つの取引先を定義します。 両方の取引先の定義では、同じ "ビジネス ID" 修飾子 (このシナリオでは AS2Identity) を使用する必要があります。
ワークフローに参加する取引先間の AS2 契約を定義します。 各契約には、ホスト パートナーとゲスト パートナーが必要です。 他の取引先との間のメッセージの内容が、契約の種類と一致している必要があります。 メッセージの送受信時に使用する契約設定については、AS2 メッセージの設定に関する記事をご覧ください。
AS2 (v2) または AS2 の操作を始める前に、統合アカウントに従量課金ロジック アプリをリンクするか、Standard ロジック アプリをリンクする必要があります。 AS2 (v2) または AS2 操作を追加するときに、統合アカウントへの接続を作成する必要がある場合もあります。
ロジック アプリワークフロー リンクが必要ですか? 従量課金 - AS2 (v2) コネクタ: 接続は必要ありません
- AS2 コネクタ: 接続が必要Standard - AS2 (v2) コネクタ: 接続は必要ありません
- AS2 コネクタ: 接続が必要証明書の管理に Azure Key Vault を使用する場合は、ご利用のコンテナー キーで暗号化操作および暗号化の解除操作が許可されていることを確認してください。 そのようになっていない場合、エンコードとデコードのアクションは失敗します。
Azure portal で、キー コンテナー リソースを開きます。 リソースサイドバーの[ オブジェクト]で、[キー]を選択 します。
[ キー ] ページで、キーを選択します。 [バージョン] ページ で 、使用しているキーのバージョンを選択します。
[ キーのバージョン ] ページの [ 許可された操作] で、[ 暗号化 と 暗号化解除 ] が選択されていることを確認します。
AS2 メッセージをエンコードする
AS2 (v2) コネクタまたは AS2 コネクタを使用してメッセージをエンコードするには、対応する手順に従います。
AS2 v2 コネクタ
AS2 (v2) コネクタを使用してメッセージをエンコードするには、次の手順に従います。
Azure portal のデザイナーで、ロジック アプリ リソースとワークフローを開きます。
デザイナーで、次の 一般的な手順 に従って、AS2 Encode という名前の AS2 (v2 ) アクションをワークフローに追加します。
アクション情報ウィンドウに、以下の情報を指定します:
パラメーター 必須 説明 エンコードするメッセージ はい メッセージ ペイロードは、例えば、要求 トリガーからの Body出力です。
1. [ エンコードするメッセージ ]ボックス内を選択し、稲妻アイコンを選択して動的コンテンツリストを開きます。
2. セクション名の横に HTTP 要求が受信されたら、[ 詳細を表示] を選択します。
3.一覧から [本文] を選びます。AS2 の送信元 はい AS2 契約で指定されているメッセージ送信者のビジネス識別子で、例えば、Fabrikam。 AS2 の宛先 はい AS2 契約で指定されているメッセージ受信者のビジネス識別子で、例えば、Contoso。 たとえば、メッセージ ペイロードは、Request トリガーからの Body コンテンツ出力です。
AS2 コネクタ
AS2 コネクタを使用してメッセージをエンコードするには、次の手順に従います。
Azure portal のデザイナーで、ロジック アプリ リソースとワークフローを開きます。
デザイナーで、次の 基本的な手順に従って、AS2 メッセージへのエンコードという名前のアクションをワークフローに追加します。
統合アカウントへの接続を作成するように求めるメッセージが表示されたら、次の情報を入力します。
パラメーター 必須 説明 接続名 はい 接続の名前。 統合アカウント ID はい 統合アカウントの名前。 統合アカウント SAS URL はい 統合アカウントのコールバック URL。 次に例を示します。
完了したら、[ 新規作成] を選択します。
アクション情報ウィンドウに、以下の情報を指定します。
パラメーター 必須 説明 AS2-From はい AS2 契約で指定されているメッセージ送信者のビジネス識別子で、例えば、Fabrikam。 AS2-To はい AS2 契約で指定されているメッセージ受信者のビジネス識別子で、例えば、Contoso。 body はい メッセージ ペイロードは、例えば、要求 トリガーからの Body出力です。
1. ボディ ボックス内を選択し、稲妻アイコンを選択して動的コンテンツリストを開きます。
2. セクション名の横に HTTP 要求が受信されたら、[ 詳細を表示] を選択します。
3.一覧から [本文] を選びます。
AS2 メッセージをデコードする
AS2 (v2) コネクタまたは AS2 コネクタを使用してメッセージをデコードするには、対応する手順に従います。
AS2 v2 コネクタ
AS2 (v2) コネクタを使用してメッセージをデコードするには、次の手順に従います。
Azure portal のデザイナーで、ロジック アプリ リソースとワークフローを開きます。
デザイナーで、次の 一般的な手順 に従って、AS2 Decode という名前の AS2 (v2 ) アクションをワークフローに追加します。
アクション情報ウィンドウに、以下の情報を指定します:
パラメーター 必須 説明 デコードするメッセージ はい デコードするメッセージ ペイロードは、例えば、要求トリガーからの Body出力です。
1. デコードするメッセージ ボックス内を選択し、稲妻アイコンを選択して動的コンテンツリストを開きます。
2. セクション名の横に HTTP 要求が受信されたら、[ 詳細を表示] を選択します。
3. 一覧から [ 本文] を選択します。メッセージ ヘッダー はい デコードするメッセージのヘッダー、例えば、要求トリガーからの ヘッダー 出力。
1. [メッセージ ヘッダー ] ボックス内を選択し、関数アイコンを選択して式エディターを開きます。
2. エディター ボックスに、次の式を入力します。triggerOutputs()?['headers']
3. 完了したら、[ 追加] を選択します。次に例を示します。
AS2 コネクタ
AS2 コネクタを使用してメッセージをデコードするには、次の手順に従います。
Azure portal のデザイナーで、ロジック アプリ リソースとワークフローを開きます。
デザイナーで、次の 一般的な手順 に従って、 Decode AS2 メッセージ という名前の AS2 アクションをワークフローに追加します。
統合アカウントへの接続を作成するように求めるメッセージが表示されたら、次の情報を入力します。
パラメーター 必須 説明 接続名 はい 接続の名前。 統合アカウント ID はい 統合アカウントのリソース ID で、形式は次のとおりです。 /subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/integrationAccounts/<integration-account-name>
例えば:/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/integrationAccount-RG/providers/Microsoft.Logic/integrationAccounts/myIntegrationAccount
このリソース ID を見つけるには、次の手順に従います。
1. Azure portal で、統合アカウントを開きます。
2. 統合アカウントのサイドバーで、[ 概要] を選択します。
3. [概要] ページで、[JSON ビュー] を選びます。
4. [リソース ID] プロパティから、値をコピーします。統合アカウント SAS URL はい Shared Access Signature (SAS) 認証を使って統合アカウントへのアクセスを提供する要求エンドポイントの URL。 このコールバック URL の形式は次のとおりです。 https://<request-endpoint-URI>sp=<permissions>sv=<SAS-version>sig=<signature>
例えば:https://prod-04.west-us.logic-azure.com:443/integrationAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb?api-version=2015-08-1-preview&sp=XXXXXXXXX&sv=1.0&sig=aB1cD2eF-3gH4iJ5kL6-mN7oP8qR
この URL を見つけるには、次の手順に従います。
1. Azure portal で、統合アカウントを開きます。
2. 統合アカウントのサイドバーで、[ 設定] の [ コールバック URL] を選択します。
3. [生成されたコールバック URL] プロパティから、値をコピーします。次に例を示します。
完了したら、[ 新規作成] を選択します。
アクション情報ウィンドウで、次の値を指定します。
パラメーター 必須 説明 body はい メッセージ ペイロードは、要求トリガーからの Body出力です。
1. ボディ ボックス内を選択し、稲妻アイコンを選択して動的コンテンツリストを開きます。
2. セクション名の横に HTTP 要求が受信されたら、[ 詳細を表示] を選択します。
3.一覧から [本文] を選びます。ヘッダー はい デコードするメッセージのヘッダー、例えば、要求トリガーからの ヘッダー 出力。
1. [ヘッダー ] ボックス内を選択し、関数アイコンを選択して式エディターを開きます。
2. エディター ボックスに、次の式を入力します。triggerOutputs()?['headers']
3. 完了したら、[ 追加] を選択します。次に例を示します。
サンプル
完全に機能するロジック アプリ ワークフローとサンプル AS2 (v2) シナリオをデプロイするには、 AS2 (v2) ロジック アプリのテンプレートとシナリオを参照してください。
問題のトラブルシューティング
署名済みまたは暗号化されたメッセージを送信するときの問題
さまざまな SHA256 アルゴリズム形式を試すことを検討してください。 AS2 の仕様では SHA256 フォームに関する情報は提供されないため、各プロバイダーでは独自の実装または形式が使用されます。