적용 대상: Azure Logic Apps(사용량 + 표준)
요청을 수동으로 작성하지 않고 Azure Logic Apps의 워크플로에서 REST API를 호출하려면 기본 제공 HTTP + Swagger 트리거 또는 작업을 워크플로에 추가합니다. 이러한 작업은 Swagger 파일을 사용하여 모든 REST API 엔드포인트를 호출하여 호출 가능한 작업을 검색하고 구조화된 입력 및 출력을 가져옵니다.
HTTP + Swagger 트리거 및 작업은 HTTP 트리거 및 작업과 동일하게 작동하지만 Swagger 파일에서 설명하는 API 구조 및 출력을 노출하여 워크플로 디자이너에서 더 나은 환경을 제공합니다.
이 문서에서는 워크플로에서 HTTP + Swagger 트리거 및 작업을 추가하고 사용하는 방법을 보여 줍니다.
제한 사항
HTTP + Swagger 기본 제공 작업은 OpenAPI 3.0이 아닌 OpenAPI 2.0만 지원합니다.
필수 구성 요소
Azure 계정 및 구독 무료 Azure 계정을 만듭니다.
호출할 대상 REST API 엔드포인트를 설명하는 Swagger 파일의 URL입니다.
일반적으로 REST 엔드포인트는 트리거 또는 작업이 작동하려면 다음 조건을 충족해야 합니다.
Swagger 파일은 공개적으로 액세스할 수 있는 HTTPS URL에 호스트됩니다.
Swagger 파일에는 API 정의의
operationID각 작업에 대한 속성이 포함되어 있습니다. 그렇지 않은 경우 워크플로 디자이너는 Swagger 파일의 마지막 작업만 표시합니다.Swagger 파일은 CORS(원본 간 리소스 공유)를 켜야 합니다.
참고
호스트되지 않았거나 보안 및 원본 간 요구 사항을 충족하지 않는 Swagger 파일을 참조하려면 Azure Storage 계정의 Blob 컨테이너에 Swagger 파일을 업로드하고 해당 스토리지 계정에서 CORS를 사용하도록 설정합니다.
REST API 엔드포인트를 호출하려는 소비 또는 표준 논리 앱 워크플로입니다.
HTTP + Swagger 트리거를 사용하여 워크플로를 시작하려면 빈 워크플로가 있는 논리 앱 리소스를 만듭니다. HTTP + Swagger 작업을 사용하려면 비즈니스 시나리오에 가장 적합한 트리거를 사용하여 워크플로를 시작합니다.
HTTP + Swagger 트리거 추가
이 트리거는 REST API를 설명하는 Swagger 파일의 URL에 HTTP 요청을 보냅니다. 트리거는 워크플로에 대한 Swagger 파일 콘텐츠를 포함하는 응답을 반환합니다.
폴링 트리거를 구현하려면 폴링 트리거 패턴을 따릅니다.
Azure Portal에서 논리 앱 리소스를 엽니다.
디자이너에서 빈 워크플로를 엽니다.
워크플로가 소비 또는 표준인지에 따라 일반적인 단계에 따라 HTTP + Swagger라는 HTTP 트리거를 추가합니다.
Swagger 엔드포인트 상자에 Swagger 파일의 URL을 입력하고 작업 추가를 선택합니다.
다음 예제에서는 예제 Swagger URL 형식을 보여 있습니다. URL은 다른 형식을 사용할 수 있습니다.
트리거 정보 창에는 Swagger 파일의 작업이 표시됩니다.
원하는 작업을 선택합니다.
선택한 작업의 경우 REST API 호출에 사용할 매개 변수 값을 입력합니다.
매개 변수는 선택한 작업에 따라 달라집니다.
트리거가 일정에 따라 실행되는 경우 트리거가 REST API를 호출하는 시기를 지정하도록 되풀이를 설정합니다.
다른 매개 변수가 있는 경우 고급 매개 변수 목록을 열고 원하는 매개 변수를 선택합니다.
인증에 대한 자세한 내용은 아웃바운드 호출에 인증 추가를 참조하세요.
트리거가 실행되면 실행할 작업을 사용하여 워크플로를 계속 빌드합니다.
완료되면 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.
HTTP + Swagger 동작 추가
이 작업은 REST API를 설명하는 Swagger 파일의 URL에 HTTP 요청을 보냅니다. 이 작업은 워크플로에 대한 Swagger 파일 콘텐츠가 포함된 응답을 반환합니다.
Azure Portal에서 논리 앱 리소스를 엽니다.
디자이너에서 빈 워크플로를 엽니다.
워크플로가 Consumption인지 Standard인지에 따라 일반적인 단계에 따라 HTTP 작업을 HTTP + Swagger라는 이름으로 추가합니다.
Swagger 엔드포인트 상자에 Swagger 파일의 URL을 입력하고 작업 추가를 선택합니다.
다음 예제에서는 예제 Swagger URL 형식을 보여 있습니다. URL은 다른 형식을 사용할 수 있습니다.
작업 정보 창에는 Swagger 파일의 작업이 표시됩니다.
원하는 작업을 선택합니다.
선택한 작업의 경우 REST API 호출에 사용할 매개 변수 값을 입력합니다.
매개 변수는 선택한 작업에 따라 달라집니다.
다른 매개 변수가 있는 경우 고급 매개 변수 목록을 열고 원하는 매개 변수를 선택합니다.
인증에 대한 자세한 내용은 아웃바운드 호출에 인증 추가를 참조하세요.
트리거가 실행되면 실행할 작업을 사용하여 워크플로를 계속 빌드합니다.
완료되면 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.
HTTP + Swagger 작업의 출력
이 섹션에서는 HTTP + Swagger 트리거 및 작업의 출력에 대한 자세한 정보를 제공합니다. HTTP + Swagger 작업은 다음 정보를 반환합니다.
| 속성 이름 | Type | 설명 |
|---|---|---|
| headers | Object | 요청의 헤더입니다. |
| body | Object | 요청의 본문 내용이 포함된 개체입니다. |
| 상태 코드 | 정수 | 요청의 상태 코드입니다. |
| 상태 코드 | 설명 |
|---|---|
| 200 | 확인 |
| 202 | 수락됨 |
| 400 | 잘못된 요청 |
| 401 | 권한 없음 |
| 403 | 사용할 수 없음 |
| 404 | 찾을 수 없음 |
| 500 | 내부 서버 오류. 알 수 없는 오류 발생. |
Azure Storage에서 Swagger 호스트
호스트되지 않았거나 보안 및 원본 간 요구 사항을 충족하지 않는 Swagger 파일을 계속 참조할 수 있습니다. Azure Storage 계정의 Blob 컨테이너에 Swagger 파일을 업로드하고 스토리지 계정에서 CORS를 켭니다.
Azure Storage에서 Swagger 파일을 만들고 설정하고 저장하려면 다음 단계를 수행합니다.
Azure Portal에서 Azure Storage 계정을 만듭니다.
다음 단계에 따라 Blob에 대해 CORS를 활성화합니다.
스토리지 계정 사이드바의 설정에서 CORS를 선택합니다.
Blob 서비스 탭에서 다음 값을 입력하고 저장을 선택합니다.
매개 변수 값 허용된 원본 *허용된 메서드 GET,HEADPUT허용된 헤더 *노출된 헤더 *최대 나이 (초) 200
이 예제에서는 Azure Portal을 사용하지만 Azure Storage Explorer 와 같은 도구를 사용하여 이 설정을 구성할 수 있습니다. 구성을 자동화하려면 샘플 PowerShell 스크립트를 참조하세요.
Blob 컨테이너를 만들고 다음 단계를 수행합니다.
컨테이너 사이드바에서 개요를 선택합니다.
개요 페이지에서 액세스 수준 변경을 선택합니다.
공용 액세스 수준 목록에서 Blob(Blob에 대해서만 익명 읽기 액세스)을 선택한 다음 확인을 선택합니다.
Azure Portal 또는 Azure Storage Explorer에서 Blob 컨테이너에 Swagger 파일을 업로드합니다.
Blob 컨테이너의 파일을 참조하려면 Azure Storage Explorer에서 대/소문자를 구분하는 다음 형식을 사용하는 HTTPS URL을 가져옵니다.
https://<storage-account-name>.blob.core.windows.net/<blob-container-name>/<complete-swagger-file-name>?<query-parameters>