搭配Logic Apps 連接器使用
Azure AI 影片索引器 (VI) REST API 支援伺服器對伺服器和客戶端對伺服器通訊。 API 可讓您將視訊和音訊深入解析整合到應用程式邏輯。
我們支援 與 Azure AI 影片索引器 API 相容的 Logic Apps 和 Power Automate 連接器。
您可以使用連接器來設定自訂工作流程,以有效地從大量的影片和音訊檔案編制索引並擷取深入解析,而不需要撰寫任何一行程式碼。 使用連接器進行整合可讓您查看工作流程的健康情況,以及進行偵錯的方式。
簡介
本文中的範例會建立邏輯應用程式流程。 邏輯應用程式和Power Automate 功能及其編輯器幾乎完全相同。
這兩個流程方法是一起運作的兩個流程,可有效地支援大型檔案的異步上傳和編製索引。
- 在 Azure 儲存體帳戶中新增或修改 Blob 時,會觸發第一個流程。 其會將新檔案上傳至具有回撥 URL 的 Azure AI Video Indexer,以在編製索引作業完成後傳送通知。
- 會根據回撥 URL 來觸發第二個流程,並將已擷取的深入解析儲存回 Azure 儲存體中的 JSON 檔案。
您在本文中建立的邏輯應用程式包含每個應用程式的一個流程。 第二節建立 類型耗用量 的新邏輯應用程式說明如何連接兩者。 第二個流程獨立運作,由第一個流程觸發。
當檔案從第一個流程上傳並編製索引時,它會傳送具有正確回呼 URL 的 HTTP 要求,以觸發第二個流程。 然後,其將會擷取 Azure AI Video Indexer 所產生的深入解析。 在此範例中,其會將編製索引工作的輸出儲存在您的 Azure 儲存體中。 不過,您可以使用輸出來完成此工作。
必要條件
- 如果您沒有 Azure 訂用帳戶,請在開始之前建立 Azure 免費帳戶 。
- 建立 ARM 型 Azure AI Video Indexer 帳戶。
- 建立 Azure 儲存體帳戶。 VI 的記憶體帳戶必須是標準一般用途 v2 儲存體帳戶。 請記下儲存體帳戶使用的存取金鑰。
- 建立兩個容器:一個用來儲存媒體檔案,另一個用來儲存 Azure AI Video Indexer 所產生的深入解析。 在本文中,容器為
videos
和insights
。
- 建立兩個容器:一個用來儲存媒體檔案,另一個用來儲存 Azure AI Video Indexer 所產生的深入解析。 在本文中,容器為
產生存取權杖
- 使用 generateAccessToken 產生存取令牌。 按 [試用] 以取得您帳戶的正確值。
- 複製並貼到 [記事本] 以取得後續步驟。
流程 #1:設定檔案上傳流程
本節說明如何設定第一個檔案上傳、流程。 在 Azure 儲存體帳戶中新增或修改 Blob 時,會觸發第一個流程。 其會將新檔案上傳至具有回撥 URL 的 Azure AI Video Indexer,以在編製索引作業完成後傳送通知。
流程步驟如下:
- 新增或修改 Blob 時 (僅限屬性) (V2)
- 依路徑建立 SAS URI (V2)
- HTTP
- 上傳影片和索引
建立新增或修改部落格時 (僅限屬性)(V2) 步驟
在 與 Azure 影片索引器帳戶區域相同的區域中建立邏輯應用程式 (建議但不需要)。
呼叫邏輯應用程式
UploadIndexVideosApp
。- 針對 [方案類型],選取 [使用量]。
- 按 [檢閱 + 建立] -> [建立]。
- 邏輯應用程式部署完成之後,請在 Azure 入口網站中搜尋並瀏覽至新建立的邏輯應用程式。
- 在 [設定] 區段的左側面板上,選取 [身分識別] 索引標籤。
- 在 [系統指派] 下,將 [狀態] 從 [關閉] 變更為 [開啟] (在本教學課程稍後,此步驟十分重要)。
- 按頁面頂端的 [儲存]。
- 選取左側窗格中的 [邏輯應用程式設計工具] 索引標籤。
- 挑選 [空白邏輯應用程式] 流程。
- 在 [選擇作業] 刀鋒視窗中,搜尋 "blob"。
- 在 [全部] 索引標籤中,選擇 [Azure Blob 儲存體] 元件。
- 在 [觸發程序] 下,選取 [新增或修改 Blob 時 (僅限屬性) (V2)] 觸發程序。
建立 新增或修改 Blob 時 (僅限屬性) (V2) 觸發程式。
將記憶體連線設定為下列值:
機碼 值 連線名稱 <為您的連線命名>。 驗證類型 便捷鍵 Azure 儲存體帳戶名稱 <要儲存媒體檔案的儲存體帳戶名稱>。 Azure 儲存體帳戶存取金鑰 若要取得儲存體帳戶的存取金鑰:在 Azure 入口網站中 -> my-storage -> [安全性 + 網路] 下方 -> [存取金鑰] -> 複製其中一個金鑰。 - 選取 建立。
- 指定監視變更的 Blob 記憶體容器。
機碼 值 儲存體帳戶名稱 儲存媒體檔案的儲存體帳戶名稱 容器 /videos
- 選取 [ 儲存 ] ->
依路徑建立 SAS URI (V2)
選取 +新增步驟
依路徑建立 SAS URI 動作。
- 選取 [動作] 索引標籤。
- 搜尋並選取 [依路徑建立 SAS URI (V2)]。
機碼 值 儲存體帳戶名稱 <儲存媒體檔案的儲存體帳戶名稱>。 Blob 路徑 在 [動態內容] 下,選取 [檔案路徑清單] 群組原則識別碼 保留預設值。 權限 讀取 共用存取通訊協定 (按 [新增參數] 之後出現) HttpsOnly - 選取 [儲存]。
選取 [+ 新增步驟] 。
建立 HTTP 動作
使用下表中的值搜尋並建立 HTTP 動作:
機碼 值 備註 方法 POST URI [存取令牌](#generate 存取令牌) 本文 { "permissionType": "Contributor", "scope": "Account" }
請參閱 REST 文件範例,請務必刪除 POST 行。 新增參數 驗證 - 根據下表填入必要的驗證參數:
機碼 值 驗證類型 受控識別 受控識別 系統指派的受控識別 對象 https://management.core.windows.net
- 選取 [儲存]。
設定權限
設定邏輯應用程式與 Azure AI 影片索引器帳戶之間的許可權。
設定系統指派的受控身分識別,以取得 Azure AI Video Indexer 資源的權限。 在 Azure 入口網站中,前往您的 Azure AI Video Indexer 資源/帳戶。
- 在左側刀鋒視窗上,選取 [存取控制]。
- 選取 [新增] -> [新增角色指派] -> [參與者] -> [下一步] -> [使用者、群組或服務主體] -> [+選取成員]。
- 在 [成員] 下,搜尋您所建立的 Logic Apps 名稱 (在此案例中為
UploadIndexVideosApp
)。 - 按 [選取]。
- 按 [檢閱 + 指派]。
建立上傳影片和索引動作
選取 [Video Indexer (V2)]。
從 [Video Indexer(V2)] 中,選取 [上傳影片和編製索引]。
使用下表中的參數,設定影片索引器帳戶的連線:
機碼 值 連線名稱 <輸入連線的名稱> (在此案例中為 aviconnection
)。API 金鑰 這是您的個人 API 金鑰,可在開發人員入口網站中的 [設定檔] 下取得。因為此邏輯應用程式適用於 ARM 帳戶,所以我們不需要實際的 API 金鑰,且您可以填入虛擬值,例如 12345 選取 建立。
填入 [上傳影片和編製索引] 動作參數。
提示
如果找不到 VI 帳戶識別碼且不在下拉式清單中,請使用自定義值。
機碼 值 Location 相關聯 Azure AI Video Indexer 帳戶的位置。 帳戶識別碼 相關聯 Azure AI Video Indexer 帳戶的帳戶識別碼。 在 Azure 入口網站中,您可以在帳戶的 [概觀] 頁面中找到 [帳戶識別碼]。 或者,Azure AI Video Indexer 網站左側的 [帳戶設定] 索引標籤。 存取權杖 使用 body('HTTP')['accessToken']
運算式,從先前的 HTTP 呼叫中擷取正確格式的存取權杖。影片名稱 從 [新增或修改 Blob 時] 動作的動態內容中,選取 [檔案名稱清單]。 影片 URL 從 [依路徑建立 SAS URI] 動作的動態內容中,選取 [Web URL]。 本文 可以保留為預設值。 選取 [儲存]。
Flow #2:建立類型耗用量的新邏輯應用程式
建立使用量類型的第二個流程:Logic Apps。 會根據回撥 URL 來觸發第二個流程,並將已擷取的深入解析儲存回 Azure 儲存體中的 JSON 檔案。
流程步驟如下:
- 收到 HTTP 要求時
- HTTP
- 取得影片索引
- 建立 Blob (V2)
設定觸發程序
搜尋並選取 [收到 HTTP 要求時]。
針對觸發程式,有 HTTP POST URL 欄位。 在儲存流程後才會產生 URL;不過,您最後會需要此 URL。
提示
我們將回到此步驟中所建立的 URL。
產生存取權杖
視您設定第一個存取令牌的方式而定,您可能需要產生另一個存取令牌。 將它複製並貼到 [記事本]。
- 產生存取令牌。
- 選取 [儲存] -> [+新增步驟]。
設定取得影片索引器深入解析
搜尋 "Video Indexer"。
從 [Video Indexer (V2)] 中,選取 [取得影片索引] 動作。
設定連線名稱:
機碼 值 連線名稱 <連線的名稱>。 例如: aviconnection
。API 金鑰 這是您的個人 API 金鑰,可在開發人員入口網站的 [設定檔] 下取得。 如需詳細資訊,請參閱訂閱 API。 選取 建立。
根據資料表填寫必要參數:
機碼 值 Location Azure AI Video Indexer 帳戶的位置。 帳戶識別碼 您可以從 Azure 入口網站的資源/帳戶 [概觀] 頁面中複製 Video Indexer 帳戶識別碼。 影片識別碼* 針對影片識別碼,新增 Expression 類型的動態內容,並放入下列運算式:triggerOutputs()['queries']['id']。 存取權杖 從動態內容中,在 [剖析 JSON] 區段下,選取 [accessToken],而這是剖析 JSON 動作的輸出。 *此運算式會告知連接器從觸發程序的輸出取得影片識別碼。 在此情況下,觸發程序的輸出會是您第一個觸發程序中 [上傳影片和編製索引] 的輸出。
選取 [儲存] -> [+新增步驟]。
建立 Blob,並儲存深入解析 JSON。
從動作群組中,搜尋 "Azure blob"。
選取 [建立 Blob (V2)]。
設定將儲存 JSON 深入解析檔案之 Blob 儲存體的連線。
機碼 值 連線名稱 <輸入連線名稱>。 驗證類型 便捷鍵 Azure 儲存體帳戶名稱 <* 將儲存深入解析的儲存體帳戶名稱 *>。 Azure 儲存體帳戶存取金鑰 移至 Azure 入口網站 -> my-storage -> [安全性 + 網路] 下方 -> [存取金鑰] -> 複製其中一個金鑰。 - 選取 建立。
- 設定將儲存深入解析的資料夾。
機碼 值 儲存體帳戶名稱 <輸入包含 JSON 輸出的儲存體帳戶名稱 (在本教學課程中,與來源影片相同)。> Folder path 從下拉式清單中,選取 /insights
Blob 名稱 從動態內容中,在 [取得影片索引] 區段下,選取 [名稱],然後新增 _insights.json
,深入解析檔案名將會是影片名稱 + insights.jsonBlob 內容 從動態內容中,在 [取得影片索引] 區段下,選取 [本文]。 - 選取 [儲存流程]。
更新回撥 URL,以在編製索引工作完成時收到通知。
儲存流程後,就會在觸發程式中建立 HTTP POST URL。
- 複製觸發程式中的 URL。
- 回到第一個流程,並在 [回撥 URL 參數] 的 [上傳影片和編製索引] 動作中貼入 URL。
確定已儲存這兩個流程。