Azure Logic Apps でワークフローと共に使用するスキーマを追加する
適用対象: Azure Logic Apps (従量課金プラン + Standard)
フラット ファイルや XML 検証などのワークフロー アクションでは、タスクを実行するためにスキーマが必要です。 たとえば、XML 検証のアクションでは、ドキュメントが有効な XML を使用し、予期されるデータを事前定義済みの形式で含むことを確認する XML スキーマが必要です。 このスキーマは、XML スキーマ定義 (XSD) 言語を使用し、.xsd ファイル名拡張子を持つ XML ドキュメントです。 フラット ファイルのアクションでは、スキーマを使用して XML コンテンツをエンコードおよびデコードします。
この記事では、統合アカウントにスキーマを追加する方法について説明します。 Standard ロジック アプリ ワークフローで作業している場合は、ロジック アプリ リソースに直接スキーマを追加することもできます。
前提条件
Azure アカウントとサブスクリプション。 サブスクリプションをまだお持ちでない場合には、無料の Azure アカウントにサインアップしてください。
追加するスキーマ ファイル。 スキーマを作成するには、Microsoft Azure Logic Apps Enterprise Integration Tools 拡張機能と Visual Studio 2019 を使用できます。
Note
この拡張機能を BizTalk Server 拡張機能と同時にインストールしないでください。 両方の拡張機能をインストールすると、予期しない動作が発生する可能性があります。 これらの拡張機能のいずれかのみがインストールされていることを確認してください。
高解像度モニターでは、Visual Studio のマップ デザイナーで表示の問題が発生することがあります。 この表示の問題を解決するには、Visual Studio を DPI 非対応モードで再起動するか、DPIUNAWARE レジストリ値を追加します。
従量課金制または Standard ロジック アプリ ワークフローのどちらを使用しているかに基づいて、統合アカウント リソースが必要になります。 通常、このリソースは、エンタープライズ統合と B2B ワークフローで使用するために成果物を定義して格納する場合に必要です。
重要
連携するには、統合アカウントとロジック アプリ リソースの両方が、同じ Azure サブスクリプションと Azure リージョンに存在する必要があります。
従量課金ロジック アプリ ワークフローで作業している場合は、ロジック アプリ リソースにリンクされた統合アカウントが必要です。
Standard ロジック アプリ ワークフローで作業している場合は、次のシナリオに基づいて、統合アカウントをロジック アプリ リソースにリンクするか、スキーマをロジック アプリ リソースに直接アップロードするか、またはその両方を行うことができます。
必要なまたは使用したい成果物を含む統合アカウントが既にある場合は、成果物を使用する場所になる複数の Standard ロジック アプリ リソースに統合アカウントをリンクできます。 こうすることで、個々のロジック アプリにスキーマをアップロードする必要がありません。 詳細については、ロジック アプリ リソースの統合アカウントへのリンクに関するページを参照してください。
フラット ファイル組み込みコネクタを使用すると、ロジック アプリ リソースまたはリンクされた統合アカウントに以前にアップロードしたスキーマを選べますが、両方は選べません。 その後、同じロジック アプリ リソース内のすべての子ワークフローで、この成果物を使用できます。
そのため、統合アカウントがないか、または必要としない場合は、アップロード オプションを使用できます。 それ以外の場合は、リンク オプションを使用できます。 どちらの方法でも、同じロジック アプリ リソース内のすべての子ワークフローで、これらの成果物を使用できます。
制限事項
制限は、統合アカウントごとの成果物 (スキーマなど) の数に適用されます。 詳細については、Azure Logic Apps の制限と構成の情報に関する記事を参照してください。
従量課金と Standard ロジック アプリ ワークフローのどちらで作業しているかに基づいて、スキーマ ファイルのサイズ制限が適用されます。
Standard ワークフローで作業している場合は、スキーマ ファイル サイズに制限は適用されません。
従量課金ワークフローで作業している場合は、次の制限が適用されます。
スキーマが 2 MB 以下の場合は、Azure portal から "直接" スキーマを統合アカウントに追加できます。
スキーマが 2 MB を超えているが、スキーマのサイズ制限を超えていない場合は、Azure ストレージ アカウントと、スキーマをアップロードできる BLOB コンテナーが必要です。 その後、そのスキーマを統合アカウントに追加するために、統合アカウントからストレージ アカウントにリンクできます。 このタスクのために必要な項目について次の表に示します。
Item 説明 Azure Storage アカウント このアカウントに、スキーマ用の Azure BLOB コンテナーを作成します。 ストレージ アカウントの作成方法を確認してください。 BLOB コンテナー このコンテナーに、スキーマをアップロードできます。 また、後で統合アカウントにスキーマを追加するときに、このコンテナーのコンテンツ URI が必要です。 BLOB コンテナーの作成方法についてはこちらを参照してください。 Azure 記憶域エクスプローラー このツールを使用すると、ストレージ アカウントと BLOB コンテナーをより簡単に管理できます。 Storage Explorer を使用するには、次の手順を選択します。
- Azure portal で、自分のストレージ アカウントを選択します。 ストレージ アカウント メニューから [Storage Explorer] を選択します。
- デスクトップ バージョンの場合、Azure Storage Explorer をダウンロードしてインストールします。 次に、「Storage Explorer の概要」の手順に従って Storage Explorer をストレージ アカウントに接続します。 詳しくは、「クイック スタート: Azure Storage Explorer を使用してオブジェクト ストレージ内に BLOB を作成する」を参照してください。より大きいスキーマを追加するには、Azure Logic Apps REST API - スキーマも使用できます。 Standard ワークフローでは、Azure Logic Apps REST API は現在利用できません。
通常、ワークフローで統合アカウントを使用している場合は、そのアカウントにスキーマを追加します。 ただし、統合アカウントに含まれていないスキーマを参照またはインポートしている場合は、要素
xsd:redefine
を使用すると次のエラーが表示されることがあります。An error occurred while processing the XML schemas: ''SchemaLocation' must successfully resolve if <redefine> contains any child other than <annotation>.'.
このエラーを解決するには、要素
xsd:import
またはxsd:include
をxsd:redefine
の代わりにを使用するか、URI を使用する必要があります。
スキーマを追加するための考慮事項
従量課金ワークフローで作業している場合は、リンクされた統合アカウントにスキーマを追加する必要があります。
Standard ワークフローで作業している場合は、次のオプションがあります。
リンクされた統合アカウントにスキーマを追加します。 スキーマと統合アカウントは、複数の Standard ロジック アプリ リソースとその子ワークフローで共有できます。
ロジック アプリ リソースに直接スキーマを追加します。 ただし、そのスキーマは、同じロジック アプリ リソース内の子ワークフロー間でのみ共有できます。
統合アカウントにスキーマを追加する
Azure アカウントの資格情報で Azure portal にサインインします。
Azure のメイン検索ボックスに「統合アカウント」と入力し、[統合アカウント] を選びます。
スキーマを追加する統合アカウントを選択します。
統合アカウント メニューで、 [設定] の [スキーマ] を選択します。
[スキーマ] ペインのツール バーで、 [追加] を選択します。
ロジック アプリにスキーマを追加する
従量課金ワークフローの場合、スキーマのファイル サイズに基づいて、最大 2 MB、または 2 MB を超える最大 8 MB のスキーマをアップロードする手順に従います。
最大 2 MB のスキーマを追加する
[スキーマの追加] ペインで、スキーマの名前を入力します。 [小さいファイル] を選択したままにします。 [スキーマ] ボックスの横にあるフォルダー アイコンを選択します。 アップロードするスキーマを検索して選択します。
終了したら、 [OK] を選択します。
スキーマのアップロードが完了したら、 [スキーマ] 一覧にスキーマが表示されます。
2 MB を超えるスキーマを追加する
従量課金ワークフローで使用するためにより大きなスキーマを追加する場合、Azure Logic Apps REST API - スキーマを使用することも、Azure ストレージ アカウントの Azure BLOB コンテナーにスキーマをアップロードすることもできます。 スキーマを追加する手順は、ご使用の BLOB コンテナーがパブリック読み取りアクセス権を持っているかどうかによって変わります。 そのため、まず最初に BLOB コンテナーがパブリック読み取りアクセス権を持っているかどうかを確認します。このとき、「BLOB コンテナーのパブリック アクセス レベルを設定する」の手順に従います。
コンテナーのアクセス レベルを確認する
Azure ストレージ エクスプローラーを開きます。 Explorer ウィンドウで、Azure サブスクリプションがまだ展開されていない場合は展開します。
[ストレージ アカウント]> {自分のストレージ アカウント} >[BLOB コンテナー] の順に展開します。 BLOB コンテナーを選択します。
BLOB コンテナーのショートカット メニューから [Set Public Access Level](パブリック アクセス レベルの設定) を選択します。
BLOB コンテナーに少なくともパブリック アクセス権がある場合は、 [キャンセル] を選択し、このページで後述する「パブリック アクセス権を持つコンテナーにアップロードする」の手順に従います
BLOB コンテナーにパブリック アクセス権がない場合は、 [キャンセル] を選択し、このページで後述する「パブリック アクセス権を持たないコンテナーにアップロードする」の手順に従います
パブリック アクセス権を持つコンテナーにアップロードする
スキーマをストレージ アカウントにアップロードします。 右側のウィンドウで、 [アップロード] を選択します。
アップロードを完了したら、アップロードしたスキーマを選択します。 ツール バーで [URL のコピー] を選択し、スキーマの URL をコピーします。
[スキーマの追加] ウィンドウが開いている Azure portal に戻ります。 アセンブリの名前を入力します。 [大きいファイル (2 MB 超)] を選択します。
[スキーマ] ボックスではなく、 [コンテンツ URI] ボックスが表示されます。
[コンテンツ URI] ボックスに、スキーマの URL を貼り付けます。 スキーマの追加を完了します。
スキーマのアップロードが完了したら、 [スキーマ] 一覧にスキーマが表示されます。 統合アカウントの [概要] ページの [成果物] には、アップロードしたスキーマが表示されます。
パブリック アクセス権を持たないコンテナーにアップロードする
スキーマをストレージ アカウントにアップロードします。 右側のウィンドウで、 [アップロード] を選択します。
アップロードが完了したら、スキーマの共有アクセス署名 (SAS) を生成します。 スキーマのショートカット メニューから [Get Shared Access Signature](Shared Access Signature の取得) を選択します。
[Shared Access Signature] ウィンドウで [Generate container-level shared access signature URI](コンテナーレベルの共有アクセス署名 URI の生成)>[作成] の順に選択します。 SAS URL が生成されたら、 [URL] ボックスの横にある [コピー] を選択します。
[スキーマの追加] ウィンドウが開いている Azure portal に戻ります。 [大きいファイル] を選択します。
[スキーマ] ボックスではなく、 [コンテンツ URI] ボックスが表示されます。
[コンテンツ URI] ボックスに、前に生成した SAS URI を貼り付けます。 スキーマの追加を完了します。
スキーマのアップロードが完了したら、 [スキーマ] 一覧にスキーマが表示されます。 統合アカウントの [概要] ページの [成果物] には、アップロードしたスキーマが表示されます。
スキーマを編集する
既存のスキーマを更新するには、目的の変更を含む新しいスキーマ ファイルをアップロードする必要があります。 ただし、編集対象の既存のスキーマをまずダウンロードすることができます。
Azure portal で、統合アカウントをまだ開いていない場合は開きます。
統合アカウント メニューで、 [設定] の [スキーマ] を選択します。
[スキーマ] ペインが開いたら、スキーマを選択します。 最初にスキーマをダウンロードして編集するには、 [スキーマ] ペインのツール バーで [ダウンロード] を選択して、スキーマを保存します。
更新したスキーマをアップロードする準備ができたら、 [スキーマ] ペインで更新するスキーマを選択します。 [スキーマ] ペインのツール バーで、 [更新] を選択します。
アップロードする更新済みスキーマを探して選択します。
終了したら、 [OK] を選択します。
スキーマ ファイルのアップロードが完了したら、 [スキーマ] 一覧に更新されたスキーマが表示されます。
スキーマを削除する
Azure portal で、統合アカウントをまだ開いていない場合は開きます。
統合アカウント メニューで、 [設定] の [スキーマ] を選択します。
[スキーマ] ペインが開いたら、スキーマを選択し、 [削除] を選択します。
スキーマの削除を確定するには、 [はい] を選択します。