Azure Logic Apps의 워크플로에서 REST API 엔드포인트 연결 또는 호출

적용 대상: Azure Logic Apps(사용량 + 표준)

Azure Logic Apps의 논리 앱 워크플로에서 REST API 엔드포인트를 호출하려면 기본 제공 HTTP + Swagger 작업을 사용하여 Swagger 파일을 통해 REST API 엔드포인트를 호출할 수 있습니다. HTTP + Swagger 트리거 및 작업은 HTTP 트리거 및 작업과 동일하게 작동하지만 Swagger 파일에서 설명하는 API 구조 및 출력을 노출하여 워크플로 디자이너에 더 나은 환경을 제공합니다. 폴링 트리거를 구현하려면 논리 앱 워크플로에서 다른 API, 서비스 및 시스템을 호출하기 위한 사용자 지정 API 만들기에 설명된 폴링 패턴을 따릅니다.

제한 사항

HTTP + Swagger 기본 제공 작업은 현재 OpenAPI 3.0이 아닌 OpenAPI 2.0만 지원합니다.

필수 조건

  • 계정 및 Azure 구독. Azure 구독이 없는 경우 체험 Azure 계정에 등록합니다.

  • 호출하려는 대상 REST API 엔드포인트를 설명하는 Swagger 파일의 URL

    일반적으로 REST 엔드포인트에서 트리거 또는 작업이 작동하려면 다음 조건을 충족해야 합니다.

    • Swagger 파일은 공개적으로 액세스할 수 있는 HTTPS URL에 호스팅해야 합니다.

    • Swagger 파일에는 정의의 각 작업에 대한 operationID 속성이 포함되어야 합니다. 그렇지 않으면 커넥터가 Swagger 파일의 마지막 작업만 표시합니다.

    • Swagger 파일은 CORS(원본 간 리소스 공유)를 사용해야 합니다.

    이 가이드의 예제에서는 Azure AI 서비스 리소스 키 및 지역이 필요한 Azure AI Face를 사용합니다.

    참고 항목

    호스트되지 않았거나 보안 및 원본 간 요구 사항을 충족하지 않는 Swagger 파일을 참조하려면 Azure Storage 계정의 Blob 컨테이너에 Swagger 파일을 업로드하고 이 스토리지 계정에서 CORS를 사용하도록 설정하여 해당 파일을 참조할 수 있습니다.

  • 대상 엔드포인트를 호출하려는 사용량 또는 표준 논리 앱 워크플로입니다. HTTP + Swagger 웹후크 트리거를 시작하려면 빈 워크플로가 있는 논리 앱 리소스를 만듭니다. HTTP + Swagger 작업을 사용하려면 원하는 트리거를 사용하여 워크플로를 시작합니다. 이 예제에서는 첫 번째 작업으로 HTTP + Swagger 트리거를 사용합니다.

HTTP + Swagger 트리거 추가

이 기본 제공 트리거는 REST API를 설명하는 Swagger 파일의 URL에 HTTP 요청을 보냅니다. 그런 다음, 트리거는 해당 파일의 콘텐츠를 포함하는 응답을 반환합니다.

  1. Azure Portal의 디자이너에서 표준 논리 앱 리소스와 빈 워크플로를 엽니다.

  2. 디자이너에서 다음 일반 단계에 따라 HTTP + Swagger라는 HTTP 트리거를 추가합니다.

  3. Swagger 엔드포인트 상자에 원하는 Swagger 파일의 URL을 입력하고 작업 추가를 선택합니다.

    사용자 고유의 엔드포인트를 사용하거나 만들어야 합니다. 예를 들어, 이러한 단계는 미국 서부 지역에 있는 다음 Azure AI Face API Swagger URL을 사용하며 특정 트리거에서 작동하지 않을 수 있습니다.

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Screenshot shows Standard workflow designer with trigger named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

  4. Swagger 파일에서 설명하는 작업이 디자이너에 표시되면 사용할 작업을 선택합니다.

    다음 예에서는 트리거 이름을 Face - Detect로 변경하여 트리거에 더 설명적인 이름을 부여합니다.

    Screenshot shows Standard workflow, Face - Detect trigger, and list with Swagger operations.

  5. 선택한 작업에 따라 달라지는 트리거 매개 변수에 대해 엔드포인트 호출에 포함하려는 값을 제공합니다. 대상 엔드포인트를 트리거하는 빈도에 대해 되풀이를 설정합니다.

  6. 다른 사용 가능한 매개 변수를 추가하려면 고급 매개 변수 목록을 열고 원하는 매개 변수를 선택합니다.

    HTTP + Swagger에 사용 가능한 인증 유형에 대한 자세한 내용은 아웃바운드 호출에 인증 추가를 참조하세요.

  7. 트리거가 발생할 때 실행되는 작업을 사용하여 워크플로를 계속 작성합니다.

  8. 완료되면 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

HTTP + Swagger 동작 추가

이 기본 제공 작업은 REST API를 설명하는 Swagger 파일의 URL에 HTTP 요청을 보냅니다. 그런 다음, 작업은 해당 파일의 콘텐츠가 포함된 응답을 반환합니다.

  1. Azure Portal의 디자이너에서 표준 논리 앱 리소스 및 워크플로를 엽니다.

  2. 디자이너에서 다음 일반 단계에 따라 HTTP + Swagger라는 HTTP 작업을 추가합니다.

  3. Swagger 엔드포인트 상자에 원하는 Swagger 파일의 URL을 입력하고 작업 추가를 선택합니다.

    사용자 고유의 엔드포인트를 사용하거나 만들어야 합니다. 예를 들어, 이러한 단계는 미국 서부 지역에 있는 다음 Azure AI Face API Swagger URL을 사용하며 특정 트리거에서 작동하지 않을 수 있습니다.

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Screenshot shows Standard workflow designer with trigger named Face - Detect, and action named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

  4. Swagger 파일에서 설명하는 작업이 디자이너에 표시되면 사용할 작업을 선택합니다.

    다음 예에서는 트리거 이름을 Face - Identify로 변경하여 트리거에 더 설명적인 이름을 부여합니다.

    Screenshot shows Standard workflow, Face - Identify action, and list with Swagger operations.

  5. 선택한 작업에 따라 달라지는 동작 매개 변수에 대해 엔드포인트 호출에 포함하려는 값을 제공합니다.

  6. 다른 사용 가능한 매개 변수를 추가하려면 고급 매개 변수 목록을 열고 원하는 매개 변수를 선택합니다.

    HTTP + Swagger에 사용 가능한 인증 유형에 대한 자세한 내용은 아웃바운드 호출에 인증 추가를 참조하세요.

  7. 실행하려는 다른 작업으로 워크플로를 계속 빌드합니다.

  8. 완료되면 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

Azure Storage에서 Swagger 호스트

호스트되지 않았거나 보안 및 원본 간 요구 사항을 충족하지 않는 Swagger 파일을 계속 참조할 수 있습니다. Azure 스토리지 계정의 Blob 컨테이너에 Swagger 파일을 업로드하고 해당 스토리지 계정에서 CORS를 사용하도록 설정합니다. Azure Storage에서 Swagger 파일을 만들고 설정하고 저장하려면 다음 단계를 수행합니다.

  1. Azure 스토리지 계정을 만듭니다.

  2. 이제 Blob에 CORS를 사용하도록 설정합니다. 스토리지 계정 메뉴에서 CORS를 선택합니다. Blob service 탭에서 이러한 값을 지정한 다음, 저장을 선택합니다.

    속성
    허용된 원본 *
    허용된 메서드 GET, HEAD, PUT
    허용된 헤더 *
    노출된 헤더 *
    최대 기간(초) 200

    이 예제에는 Azure Portal을 사용하지만 Azure Storage Explorer 등의 도구를 사용하거나, 이 샘플 PowerShell 스크립트를 사용하여 이 설정을 자동으로 구성할 수 있습니다.

  3. Blob 컨테이너를 만듭니다. 컨테이너의 개요 창에서 액세스 수준 변경을 선택합니다. 공용 액세스 수준 목록에서 Blob(Blob에 대해서만 익명 읽기 액세스)을 선택하고 확인을 선택합니다.

  4. Azure Portal 또는 Azure Storage Explorer를 통해 Swagger 파일을 Blob 컨테이너에 업로드합니다.

  5. Blob 컨테이너에서 파일을 참조하려면 Azure Storage Explorer에서 대/소문자를 구분하는 다음 형식의 HTTPS URL을 가져옵니다.

    https://<storage-account-name>.blob.core.windows.net/<blob-container-name>/<complete-swagger-file-name>?<query-parameters>

커넥터 기술 참조

이 섹션에서는 HTTP + Swagger 트리거 및 작업의 출력에 대한 자세한 정보를 제공합니다.

출력

HTTP + Swagger 호출은 다음 정보를 반환합니다.

Property name Type 설명
headers Object 요청의 헤더
body Object 요청의 본문 콘텐츠가 포함된 개체
상태 코드 정수 요청의 상태 코드
상태 코드 Description
200 OK
202 Accepted
400 Bad request
401 Unauthorized
403 금지
404 Not Found
500 내부 서버 오류입니다. 알 수 없는 오류 발생.

다음 단계