Logic Apps 커넥터와 함께 사용
Azure AI VI(Video Indexer) REST API 는 서버 간 통신과 클라이언트 간 통신을 모두 지원합니다. 이 API를 사용하면 비디오 및 오디오 인사이트를 애플리케이션 논리에 통합할 수 있습니다.
Azure AI Video Indexer API와 호환되는 Logic Apps 및 Power Automate 커넥터를 지원합니다.
한 줄의 코드도 작성하지 않고도 커넥터를 사용하여 대량의 비디오 및 오디오 파일에서 인사이트를 효과적으로 인덱싱하고 추출할 수 있는 사용자 지정 워크플로를 설정할 수 있습니다. 통합에 커넥터를 사용하면 워크플로의 상태와 디버깅 방법을 확인할 수 있습니다.
소개
이 문서의 예제에서는 논리 앱 흐름을 만듭니다. 논리 앱과 Power Automate 기능 및 해당 편집기가 거의 동일합니다.
함께 작동하는 두 흐름인 두 흐름 접근 방식은 더 큰 파일의 비동기 업로드 및 인덱싱을 효과적으로 지원합니다.
- 첫 번째 흐름은 Azure Storage 계정에서 Blob이 추가되거나 수정될 때 트리거됩니다. 인덱싱 작업이 완료되면 알림을 보내기 위해 콜백 URL을 사용하여 새 파일을 Azure AI Video Indexer로 업로드합니다.
- 두 번째 흐름은 콜백 URL에 따라 트리거되며, 추출된 인사이트를 Azure Storage의 JSON 파일에 다시 저장합니다.
이 문서에서 만드는 논리 앱에는 앱당 하나의 흐름이 포함됩니다. 두 번째 섹션인 형식 소비 의 새 논리 앱 만들기에서는 두 가지를 연결하는 방법을 설명합니다. 두 번째 흐름은 단독으로 표시되며 첫 번째 흐름에 의해 트리거됩니다.
파일이 첫 번째 흐름에서 업로드되고 인덱싱되면 올바른 콜백 URL을 사용하여 HTTP 요청을 보내 두 번째 흐름을 트리거합니다. 그런 다음, Azure AI Video Indexer에서 생성한 인사이트를 검색합니다. 이 예에서는 인덱싱 작업의 출력을 Azure Storage에 저장합니다. 그러나 출력 관련 작업은 사용자가 수행해야 합니다.
필수 조건
- Azure 구독이 없는 경우 시작하기 전에 Azure 체험 계정을 만듭니다.
- ARM 기반 Azure AI Video Indexer 계정을 만듭니다.
- Azure Storage 계정을 만듭니다. VI용 스토리지 계정은 표준 범용 v2 스토리지 계정이어야 합니다. Storage 계정에 대한 액세스 키를 적어 두세요.
- 미디어 파일을 저장할 컨테이너 하나와 Azure AI Video Indexer에서 생성한 인사이트를 저장할 컨테이너 하나, 총 두 개의 컨테이너를 만듭니다. 이 문서에서 컨테이너는
videos
및insights
입니다.
- 미디어 파일을 저장할 컨테이너 하나와 Azure AI Video Indexer에서 생성한 인사이트를 저장할 컨테이너 하나, 총 두 개의 컨테이너를 만듭니다. 이 문서에서 컨테이너는
액세스 토큰 생성
- generateAccessToken을 사용하여 액세스 토큰을 생성합니다. 시도를 눌러 계정에 대한 올바른 값을 가져옵니다.
- 이후 단계를 위해 복사하여 메모장에 붙여넣습니다.
흐름 #1: 파일 업로드 흐름 설정
이 섹션에서는 첫 번째 파일 업로드, 흐름을 설정하는 방법을 설명합니다. 첫 번째 흐름은 Azure Storage 계정에서 Blob이 추가되거나 수정될 때 트리거됩니다. 인덱싱 작업이 완료되면 알림을 보내기 위해 콜백 URL을 사용하여 새 파일을 Azure AI Video Indexer로 업로드합니다.
흐름 단계는 다음과 같습니다.
- Blob이 추가되거나 수정되는 경우(속성에만 해당) (V2)
- 경로별 SAS URI 만들기(V2)
- HTTP
- 비디오 및 인덱스 업로드
블로그가 추가되거나 수정될 때(속성만 해당)(V2) 단계 만들기
Azure Video Indexer 계정 지역과 동일한 지역에 논리 앱을 만듭니다(권장되지만 필수는 아님).
논리 앱을 호출합니다
UploadIndexVideosApp
.- 플랜 유형에 사용량을 선택합니다.
- 검토 + 만들기 ->만들기를 누릅니다.
- 논리 앱 배포가 완료되면 Azure Portal에서 새로 만든 논리 앱을 찾아서 이동합니다.
- 설정 섹션의 왼쪽 패널에서 ID 탭을 선택합니다.
- 시스템 할당에서 상태를 끄기에서 켜기로 변경합니다(이 자습서의 뒷부분을 위해 중요한 단계).
- 페이지 상단에서 저장을 누릅니다.
- 왼쪽 창에서 논리 앱 디자이너 탭을 선택합니다.
- 빈 논리 앱 흐름을 선택합니다.
- 작업 선택 블레이드에서 "Blob"을 검색합니다.
- 모두 탭에서 Azure Blob Storage 구성 요소를 선택합니다.
- 트리거에서 Blob이 추가되거나 수정된 경우(속성만)(V2) 트리거를 선택합니다.
Blob이 추가되거나 수정될 때(속성만 해당) (V2) 트리거를 만듭니다.
스토리지 연결을 다음 값으로 설정합니다.
키 값 연결 이름 <연결의 이름 지정>. Authentication type 액세스 키 Azure Storage 계정 이름 <미디어 파일이 저장될 스토리지 계정 이름> Azure Storage 계정 액세스 키 스토리지 계정의 액세스 키를 얻으려면 Azure Portal -> my-storage -> 보안 + 네트워킹 ->액세스 키 ->키 중 하나를 복사합니다. - 만들기를 실행합니다.
- 변경 내용을 모니터링하는 Blob Storage 컨테이너를 지정합니다.
키 값 스토리지 계정 이름 미디어 파일이 저장되는 스토리지 계정 이름 컨테이너 /videos
- 저장 선택 ->
경로별 SAS URI 만들기(V2)
+새 단계 선택
경로로 SAS URI 만들기 작업을 선택합니다.
- 작업 탭을 선택합니다.
- 경로로 SAS URI 만들기(V2)를 검색하고 선택합니다.
키 값 스토리지 계정 이름 <미디어 파일이 저장되는 스토리지 계정 이름> Blob 경로 동적 콘텐츠에서 파일 경로 목록을 선택합니다. 그룹 정책 식별자 기본값을 그대로 둡니다. 사용 권한 읽음 공유 액세스 프로토콜(새 매개 변수 추가를 누른 후 표시됨) HttpsOnly - 저장을 선택합니다.
+새 단계를 선택합니다.
HTTP 작업 만들기
다음 표의 값을 사용하여 HTTP 작업을 검색하고 만듭니다.
키 값 주의 메서드 POST URI [액세스 토큰](#generate 액세스 토큰) 본문 { "permissionType": "Contributor", "scope": "Account" }
REST 문서 예제를 참조하여 POST 줄을 삭제해야 합니다. 새 매개 변수 추가 인증 - 다음 표에 따라 인증에 필요한 매개 변수를 채웁니다.
키 값 인증 유형 관리 ID 관리 ID 시스템 할당 관리 ID 대상 https://management.core.windows.net
- 저장을 선택합니다.
권한 설정
논리 앱과 Azure AI Video Indexer 계정 간에 권한을 설정합니다.
Azure AI Video Indexer 리소스에 대한 권한을 얻기 위해 시스템이 할당한 관리 ID를 설정합니다. Azure Portal에서 Azure AI Video Indexer 리소스/계정으로 이동합니다.
- 왼쪽 블레이드에서 액세스 제어를 선택합니다.
- 추가 ->역할 할당 추가 ->기여자 ->다음 ->사용자, 그룹 또는 서비스 주체 ->+멤버 선택을 선택합니다.
- 멤버 아래에서 생성된 Logic Apps 이름(이 경우
UploadIndexVideosApp
)을 검색합니다. - 선택을 누릅니다.
- 검토 + 할당을 누릅니다.
비디오 업로드 및 인덱스 작업 만들기
Video Indexer(V2)를 선택합니다.
Video Indexer(V2)에서 비디오 업로드 및 인덱싱을 선택합니다.
다음 표의 매개 변수를 사용하여 Video Indexer 계정에 대한 연결을 설정합니다.
키 값 연결 이름 <연결의 이름 입력>(이 경우 aviconnection
)API 키 이는 개발자 포털의 프로필에서 사용할 수 있는 개인 API 키입니다. 이 논리 앱은 ARM 계정용이므로 실제 API 키가 필요하지 않으며 12345와 같은 더미 값을 입력할 수 있습니다. 만들기를 실행합니다.
비디오 업로드 및 인덱싱 작업 매개 변수를 채웁니다.
팁
VI 계정 ID를 찾을 수 없고 드롭다운에 없는 경우 사용자 지정 값을 사용합니다.
키 값 위치 연결된 Azure AI Video Indexer 계정의 위치입니다. 계정 ID 연결된 Azure AI Video Indexer 계정의 계정 ID입니다. Azure Portal에서 계정의 개요 페이지에서 계정 ID를 찾을 수 있습니다. 또는 Azure AI Video Indexer 웹 사이트의 왼쪽에 있는 계정 설정 탭에서 찾을 수 있습니다. 액세스 토큰 body('HTTP')['accessToken']
식을 사용하여 이전 HTTP 호출에서 올바른 형식으로 액세스 토큰을 추출합니다.비디오 이름 Blob이 추가되거나 수정된 경우의 동적 콘텐츠에서 파일 이름 목록을 선택합니다. 비디오 URL 경로로 SAS URI 만들기 작업의 동적 콘텐츠에서 웹 URL을 선택합니다. 본문 기본값으로 둘 수 있습니다. 저장을 선택합니다.
흐름 #2: 형식 소비의 새 논리 앱 만들기
두 번째 흐름인 사용량 유형의 Logic Apps를 만듭니다. 두 번째 흐름은 콜백 URL에 따라 트리거되며, 추출된 인사이트를 Azure Storage의 JSON 파일에 다시 저장합니다.
흐름 단계는 다음과 같습니다.
- HTTP 요청을 수신하는 경우
- HTTP
- 비디오 인덱스 가져오기
- Blob 만들기(V2)
트리거 설정
HTTP 요청을 받은 시기를 검색하여 선택합니다.
트리거의 경우 HTTP POST URL 필드가 있습니다. 흐름을 저장한 후에는 URL이 생성되지 않지만, 결국에는 URL이 필요합니다.
팁
이 단계에서 만든 URL로 돌아갑니다.
액세스 토큰 생성
첫 번째 액세스 토큰을 설정하는 방법에 따라 다른 액세스 토큰을 생성해야 할 수도 있습니다. 복사하여 메모장에 붙여넣습니다.
- 액세스 토큰을 생성합니다.
- 저장 ->+ 새 단계를 선택합니다.
Video Indexer 인사이트 가져오기 설정
"Video Indexer"를 검색합니다.
Video Indexer(V2)에서 비디오 인덱스 가져오기 작업을 선택합니다.
연결 이름을 설정합니다.
키 값 연결 이름 <연결 이름> 예: aviconnection
.API 키 이는 개발자 포털의 프로필에서 볼 수 있는 개인 API 키입니다. 자세한 내용은 API 구독을 참조하세요. 만들기를 실행합니다.
표에 따라 필요한 매개 변수를 입력합니다.
키 값 위치 Azure AI Video Indexer 계정의 위치입니다. 계정 ID Video Indexer 계정 ID는 Azure Portal의 리소스/계정 개요 페이지에서 복사할 수 있습니다. 비디오 ID* 비디오 ID의 경우 Expression 유형의 동적 콘텐츠를 추가하고 triggerOutputs()['queries']['id']라는 식에 넣습니다. 액세스 토큰 동적 콘텐츠의 JSON 구문 분석 섹션에서 JSON 구문 분석 작업의 출력인 accessToken을 선택합니다. *이 식은 트리거의 출력에서 비디오 ID를 가져오도록 커넥터에 지시합니다. 이 경우 트리거의 출력은 첫 번째 트리거에 있는 비디오 업로드 및 인덱싱의 출력입니다.
저장 ->+ 새 단계를 선택합니다.
Blob을 만들고 인사이트 JSON을 저장합니다.
작업 그룹에서 "Azure blob"을 검색합니다.
Blob 만들기(V2)를 선택합니다.
JSON 인사이트 파일을 저장할 Blob Storage에 대한 연결을 설정합니다.
키 값 연결 이름 <연결 이름을 입력합니다>. Authentication type 액세스 키 Azure Storage 계정 이름 <* 인사이트가 저장될 스토리지 계정 이름입니다*>. Azure Storage 계정 액세스 키 Azure Portal-> my-storage-> 보안 + 네트워킹 ->액세스 키 -> 키 중 하나를 복사합니다. - 만들기를 실행합니다.
- 인사이트가 저장될 폴더를 설정합니다.
키 값 스토리지 계정 이름 <JSON 출력을 포함할 스토리지 계정 이름을 입력합니다(이 자습서에서는 원본 비디오와 동일).> Folder path 드롭다운에서 /insights
를 선택합니다.Blob 이름 동적 콘텐츠의 비디오 인덱스 가져오기 섹션에서 이름을 선택하고 _insights.json
을 추가합니다. 인사이트 파일 이름은 비디오 이름 + insights.json입니다.BLOB 콘텐츠 동적 콘텐츠의 비디오 인덱스 가져오기 섹션에서 본문을 선택합니다. - 흐름 저장을 선택합니다.
인덱스 작업이 완료되면 알림을 받도록 콜백 URL을 업데이트합니다.
흐름이 저장되면 트리거에서 HTTP POST URL이 만들어집니다.
- 트리거에서 URL을 복사합니다.
- 첫 번째 흐름으로 돌아가서 이 URL을 비디오 업로드 및 인덱싱 작업의 콜백 URL 매개 변수로 붙여넣습니다.
두 흐름이 모두 저장되었는지 확인합니다.