次の方法で共有


Logic Apps コネクタでの使用

Azure AI Video Indexer (VI) REST API では、サーバー間通信とクライアント間通信の両方がサポートされます。 この API を使用すると、ビデオとオーディオの分析情報をアプリケーション ロジックに統合できます。

Azure AI Video Indexer API と互換性のある Logic Apps および Power Automate コネクタをサポートしています。

コネクタを使用することで、コードを 1 行も記述せずに、大量のビデオ ファイルやオーディオ ファイルにインデックスを付け、そこから効果的に分析情報を抽出するカスタム ワークフローを設定できます。 統合にコネクタを使用すると、ワークフローの正常性とデバッグ方法を可視化できます。

はじめに

この記事の例では、ロジック アプリ フローを作成します。 ロジック アプリと Power Automate の機能とそのエディターはほぼ同じです。

連携する 2 つのフローアプローチでは、より大きなファイルの非同期アップロードとインデックス作成が効果的にサポートされます。

  • 最初のフローは、Azure Storage アカウントで BLOB が追加または変更されたときにトリガーされます。 インデックス付けの操作が完了したら通知を送信するためのコールバック URL と共に、新しいファイルを Azure AI Video Indexer にアップロードします。
  • 2 番目のフローは、コールバック URL に基づいてトリガーされ、抽出された分析情報を Azure Storage の JSON ファイルに保存します。

この記事で作成するロジック アプリには、アプリごとに 1 つのフローが含まれています。 2 番目のセクション「 消費型の新しいロジック アプリを作成する 2 つを接続する方法について説明します。 2 番目のフローは単独で立ち、最初のフローによってトリガーされます。

ファイルがアップロードされ、最初のフローからインデックスが作成されると、2 番目のフローをトリガーする正しいコールバック URL を含む HTTP 要求が送信されます。 その結果、Azure AI Video Indexer によって生成された分析情報が取得されます。 この例では、インデックス付けジョブの出力が Azure Storage に格納されます。 ただし、この出力を使用して何を実行するかはユーザーの自由です。

前提条件

  • Azure サブスクリプションをお持ちでない場合は開始する前にAzure 無料アカウントを作成してください。
  • ARM ベースの Azure AI Video Indexer アカウントを作成します。
  • Azure Storage アカウントを作成します。 VI のストレージ アカウントは、Standard 汎用 v2 ストレージ アカウントである必要があります。 Storage アカウントのアクセス キーをメモしてください。
    • 2 つのコンテナーを作成します: 1 つはメディア ファイルを格納し、もう 1 つは Azure AI Video Indexer によって生成された分析情報を格納します。 このアーティクルでは、コンテナーは videos および insights です。

アクセス トークンを生成する

  1. generateAccessToken を使用してアクセス トークンを生成します。 [Try キー] を選択して、アカウントの正しい値を取得します。
  2. 後の手順でメモ帳にコピーして貼り付けます。

フロー #1: ファイルのアップロード フローを設定する

このセクションでは、最初のファイルアップロードフローを設定する方法について説明します。 最初のフローは、Azure Storage アカウントで BLOB が追加または変更されたときにトリガーされます。 インデックス付けの操作が完了したら通知を送信するためのコールバック URL と共に、新しいファイルを Azure AI Video Indexer にアップロードします。

フローの手順は次のとおりです。

  1. BLOB が追加または変更されたとき (プロパティのみ) (V2)
  2. パスを使用して SAS URI を作成する (V2)
  3. HTTP
  4. ビデオとインデックスをアップロードする

ブログが追加または変更されたとき (プロパティのみ)(V2) ステップを作成する

  1. Azure Video Indexer アカウント リージョンと同じリージョンにLogic App を作成します (推奨されますが、必須ではありません)。

  2. ロジック アプリの UploadIndexVideosAppを呼び出します。

    1. [プランの型] で [従量課金]を選択します。
    2. [確認および作成] ->[作成]を選択します。
    3. ロジック アプリのデプロイが完了したら、Azure portal で、新しく作成したロジック アプリを検索してそこに移動します。
    4. 左側のパネルの [設定] セクションで、[ID] タブを選択します。
    5. [システム割り当て済み] で、[状態] を [オフ] から [オン] に変更します (このステップは、このチュートリアルの後半で重要です)。
    6. ページの上部にある [保存] をクリックします。
    7. 左側のウィンドウで、[ロジック アプリ デザイナー] タブを選択します。
    8. 空のロジック アプリ フローを 選択します。
    9. [操作の選択] ブレードで "BLOB" を検索します。
    10. [すべて] タブで、Azure Blob Storage コンポーネントを選択します。
    11. [トリガー] で、 BLOB が追加または変更されたとき (プロパティのみ) (V2) トリガーを選択します。
  3. BLOB が追加または変更された場合 (プロパティのみ) (V2)、トリガー作成します。

  4. ストレージ接続を次の値に設定します。

    Key
    接続名 <接続に名前を付けます>。
    Authentication type アクセス キー
    Azure Storage アカウント名 <メディア ファイルが格納されるストレージ アカウント名>。
    Azure Storage アカウントのアクセス キー ストレージ アカウントのアクセス キーを取得するには、Microsoft Azure portal の >my-storage -> にある -[セキュリティとネットワーク] の ->[アクセス キー] ->で、いずれかのキーをコピーします。
    1. [作成] を選択します
    2. 変更を監視する BLOB ストレージ コンテナーを指定します。
    Key
    ストレージ アカウント名 メディア ファイルが格納されるストレージ アカウント名
    コンテナー /videos
    1. [保存 選択 ->

パスを使用して SAS URI を作成する (V2)

  1. + 新しいステップ を選択する

  2. パス アクションを使用して SAS URI を作成します。

    1. [Actions]\(アクション\) タブを選択します。
    2. パスで SAS URI の作成 (V2) を検索して選択します。
    キー
    ストレージ アカウント名 <メディア ファイルが格納されるストレージ アカウント名>。
    BLOB パス [動的コンテンツ] で、[ファイル パスのリスト] を選択する
    グループ ポリシー識別子 既定値のままにします。
    アクセス許可 読み取り
    Shared Access プロトコル ([Add new parameter]\(新しいパラメーターの追加\) を押した後に表示されます) HttpsOnly
    1. [保存] を選択します。
  3. [+ 新しいステップ] を選択します。

HTTP アクションを作成する

  1. 次の表の値を使用して、 HTTP アクションを検索して作成します。

    Key メモ
    方法 投稿
    URI [アクセス トークン](#generate アクセス トークン)
    本文​​ { "permissionType": "Contributor", "scope": "Account" } REST ドキュメントの例を参照し、POST 行を削除してください。
    新しいパラメーターの追加 認証
    1. 次の表に従って、認証に必要なパラメーターを入力します。
    Key
    Authentication type マネージド ID
    マネージド ID システム割り当てマネージド ID
    対象者 https://management.core.windows.net
    1. [保存] を選択します。

アクセス許可の設定

  1. ロジック アプリと Azure AI Video Indexer アカウントの間のアクセス許可を設定します。

  2. Azure AI Video Indexer リソースに対するアクセス許可のシステム割り当てマネージド ID を設定します。 Azure portal で、Azure AI Video Indexer リソース/アカウントに移動します。

    1. 左側のブレードで、[アクセス制御] を選択します。
    2. [追加] ->[ロールの割り当ての追加] - >[共同作成者] - [>次へ] - >[ユーザー、グループ、またはサービス プリンシパル] -> [+ メンバーの選択] の順に選択します。
    3. [メンバー] で、作成した Azure Logic Apps 名 (この場合はUploadIndexVideosApp) を検索します。
    4. [選択] を選択します。
    5. [確認と割り当て] を選択します。

ビデオとインデックスのアップロード アクションを作成する

  1. Video Indexer(V2) を選択します。

  2. Video Indexer(V2) から [Upload Video and index] (ビデオのアップロードとインデックス付け) を選びます。

  3. 次の表のパラメーターを使用して Video Indexer アカウントへの接続を設定します。

    Key
    接続名 <接続名を入力します>、この場合は aviconnectionです。
    API key これは個人用 API キーです。これは、[開発者ポータル][プロファイル] で使用できます。このロジック アプリは ARM アカウント用であるため、実際の API キーは必要なく、12345 のようなダミー値を入力できます
    1. [作成] を選択します。

    2. [ビデオのアップロードとインデックス付け] アクション パラメーターを入力します。

      ヒント

      VIアカウントIDが見つからず、ドロップダウンにない場合は、カスタム値を使用します。

      Key
      場所 関連付けられている Azure AI Video Indexer アカウントの場所。
      取引先企業 ID 関連付けられている Azure AI Video Indexer アカウントのアカウント ID。 アカウント ID は、Microsoft Azure portal 内のアカウントの [概要] ページにあります。 または、Azure AI Video Indexer Web サイトの左側にある [アカウント設定] タブ。
      Access Token body('HTTP')['accessToken'] 式を使用して、前の HTTP 呼び出しから適切な形式でアクセス トークンを抽出します。
      ビデオ名 [BLOB が追加または変更されたとき] アクションの動的コンテンツから [ファイル名のリスト] を選択します。
      ビデオの URL [パスによる SAS URI の作成] アクションの動的コンテンツから [Web URL] を選択します。
      本文 既定のままでかまいません。
    3. [保存] を選択します。

フロー #2: 消費型の新しいロジック アプリを作成する

2 つ目のフローである、消費型の Logic Apps を作成します。 2 番目のフローは、コールバック URL に基づいてトリガーされ、抽出された分析情報を Azure Storage の JSON ファイルに保存します。

フローの手順は次のとおりです。

  1. HTTP 要求の受信時
  2. HTTP
  3. ビデオ インデックスを取得する
  4. BLOB を作成する (V2)

トリガーをセットアップする

  1. HTTP 要求が受信されたら、 を検索して選択

    トリガーには、HTTP POST URL フィールドがあります。 この URL はフローを保存するまで生成されませんが、最終的にこの URL が必要になります。

    ヒント

    このステップで作成した URL に戻ります。

アクセス トークンを生成する

最初のアクセス トークンの設定方法によっては、別のアクセス トークンを生成することが必要になる場合があります。 コピーしてメモ帳に貼り付けます。

  1. アクセス トークンを生成します
  2. [保存] ->[+ 新しいステップ] の順に選択します。

Video Indexer の分析情報の取得を設定する

  1. "Video Indexer" を検索します。

  2. Video Indexer(V2) から [ビデオ インデックスの取得] アクションを選びます。

    接続名を設定します。

    キー
    接続名 <接続の名前>。 たとえば、aviconnection のようにします。
    API key これは個人用 API キーで、開発者ポータル[プロファイル] で使用できます。 詳細については、「API のサブスクライブ」を参照してください。
    1. [作成] を選択します。

    2. 次の表に従って、必要なパラメーターを入力します。

      キー
      場所 Azure AI Video Indexer アカウントの場所。
      取引先企業 ID Video Indexer アカウント ID は、Azure portal のリソース/アカウントの [概要] ページからコピーできます。
      ビデオ ID* ビデオ ID の場合は、 Expression 型の動的コンテンツを追加し、 triggerOutputs()['query']['id'] という式を入力します。
      Access Token 動的コンテンツの [JSON の解析] セクションで、解析 JSON アクションの出力である accessToken を選択します。

      *この式は、コネクタに対して、トリガーの出力からビデオ ID を取得するように指示します。 この場合、トリガーの出力は、最初のトリガーの [ビデオのアップロードとインデックス付け] の出力になります。

    3. [保存] ->[+ 新しいステップ] の順に選択します。

BLOB を作成し、分析情報 JSON を格納します。

  1. アクションのグループから "Azure BLOB" を検索します。

  2. [blob(V2) の作成] を選択します。

  3. JSON 分析情報ファイルを格納する BLOB ストレージへの接続を設定します。

    キー
    接続名 <接続名を入力します>。
    Authentication type アクセス キー
    Azure Storage アカウント名 <*分析情報が格納されるストレージ アカウント名*>。
    Azure Storage Account Access Key (Azure ストレージ アカウント アクセス キー) Microsoft Azure portal - >my-storage-> に移動し、[セキュリティとネットワーク] - [>アクセス キー ->] で、いずれかのキーをコピーします。
    1. [作成] を選択します。
    2. 分析情報を格納するフォルダーを設定します。
    キー
    ストレージ アカウント名 <JSON 出力を含むストレージ アカウント名を入力します (このチュートリアルでは、ソース ビデオと同じです)。>
    フォルダー パス ドロップダウンから /insights を選択します
    BLOB 名 動的コンテンツの [ビデオ インデックスの取得] セクションで [名前] を選択して追加 _insights.jsonすると、分析情報ファイル名がビデオ名 + insights.json になります
    BLOB コンテンツ 動的コンテンツの [ビデオ インデックスの取得] セクションで、[本文] を選択します。
    1. [フローを保存] を選択します。

インデックス ジョブが完了したときに通知を受け取るコールバック URL を更新します。

フローを保存すると、トリガーに HTTP POST の URL が作成されます。

  1. トリガーから URL をコピーします。
  2. 1 つ目のフローに戻り、[Upload video and index]\(ビデオのアップロードとインデックス付け\) アクションの [コールバック URL] パラメーターに URL を貼り付けます。

両方のフローが保存されていることを確認します。