PowerApps에서 사용자 지정 커넥터 등록 및 사용Register and use custom connectors in PowerApps

PowerApps를 사용하면 기존 응용 프로그램 코드 없이 모든 기능을 갖춘 앱을 빌드할 수 있습니다.PowerApps enables you to build full-featured apps with no traditional application code. 하지만 경우에 따라 PowerApps 기능을 확장해야 하고 웹 서비스가 적합할 수 있습니다.But in some cases you need to extend PowerApps capabilites, and web services are a natual fit for this. 사용자 앱은 서비스에 연결하고, 작업을 수행하고, 데이터를 다시 가져올 수 있습니다.Your app can connect to a service, perform operations, and get data back. PowerApps를 사용하여 연결하려는 웹 서비스가 있는 경우 서비스를 사용자 지정 커넥터로 등록합니다.When you have a web service you want to connect to with PowerApps, you register the service as a custom connector. 이 프로세스를 사용하여 PowerApps에서 필요한 인증, 지원 작업 및 해당 작업의 매개 변수 및 출력을 비롯한 웹 API의 특성을 이해할 수 있습니다.This process enables PowerApps to understand the characteristics of your web API, including the authentication that it requires, the operations that it supports, and the parameters and outputs for each of those operations.

이 항목에서는 사용자 지정 커넥터를 등록하고 사용하는 데 필요한 단계를 살펴보고 Azure Cognitive Services 텍스트 분석 API를 예로 듭니다.In this topic, we'll look at the steps required to register and use a custom connector, and we'll use the Azure Cognitive Services Text Analytics API as an example. 이 API는 전달한 텍스트에서 언어, 감정 및 핵심 구를 식별합니다.This API identifies the language, sentiment, and key phrases in text that you pass to it. 다음 이미지는 서비스, 서비스에서 생성한 사용자 지정 커넥터 및 API를 호출하는 앱 간의 상호 작용을 보여줍니다.The following image shows the interaction between the service, the custom connector we create from it, and the app that calls the API.

API, 사용자 지정 커넥터 및 앱

필수 조건Prerequisites

  • PowerApps 계정A PowerApps account.
  • JSON 형식의 OpenAPI 파일, OpenAPI 정의에 대한 URL 또는 API에 대한 Postman 컬렉션입니다.An OpenAPI file in JSON format, a URL to an OpenAPI definition, or a Postman Collection for your API. 이러한 항목이 하나도 없다면 사용자를 위한 지침을 제공합니다.If you don't have any of these, we'll provide guidance for you.
  • 사용자 지정 커넥터에 아이콘으로 사용할 이미지입니다(선택 사항).An image to use as an icon for your custom connector (optional).

사용자 지정 커넥터 프로세스의 단계Steps in the custom connector process

사용자 지정 커넥터 프로세스에는 아래에서 간략하게 설명한 여러 단계가 있습니다.The custom connector process has several steps, which we describe briefly below. 이 문서에서는 문서의 나머지 부분에서 3~6단계에 집중하도록 몇 가지 형식의 인증된 액세스 권한이 있는 RESTful API가 이미 있다고 가정합니다.This article assumes you already have a RESTful API with some type of authenticated access, so we'll focus on steps 3-6 in the rest of the article. 1 및 2단계의 예제는 PowerApps에 사용자 지정 Web API 만들기를 참조하세요.For an example of steps 1 and 2, see Create a custom Web API for PowerApps.

  1. 선택한 언어 및 플랫폼으로 RESTful API를 빌드합니다.Build a RESTful API in the language and platform of your choice. Microsoft 기술에서는 다음 중 하나를 사용하는 것이 좋습니다.For Microsoft technologies, we recommend one of the following.

    • Azure 기능Azure Functions
    • Azure Web AppsAzure Web Apps
    • Azure API AppsAzure API Apps
  2. 다음과 같은 인증 메커니즘 중 하나를 사용하여 API를 보호합니다.Secure your API using one of the following authentication mechanisms. API에 인증되지 않은 액세스를 허용할 수 있지만 권장하지 않습니다.You can allow unauthenticated access to your APIs, but we don't recommend it.

  3. 해당 PowerApps가 데이터베이스에 연결할 수 있도록 업계 표준의 두 가지 방법 중 하나에서 API를 설명합니다.Describe your API in one of two industry-standard ways, so that PowerApps can connect to it.

    • OpenAPI 파일(Swagger 파일이라고도 함)An OpenAPI file (also known as a Swagger file)
    • Postman 컬렉션A Postman Collection

      등록 프로세스의 일부로 4단계에서 OpenAPI 파일을 빌드할 수 있습니다.You can also build an OpenAPI file in step 4 as part of the registration process.

  4. PowerApps에서 마법사를 사용하여 사용자 지정 커넥터를 등록합니다. 여기서 API 설명, 보안 정보 및 기타 정보를 지정합니다.Register your custom connector using a wizard in PowerApps, where you specify an API description, security details, and other information.
  5. 앱에서 사용자 지정 커넥터를 사용합니다.Use your custom connector in an app. 앱에서 API에 대한 연결을 만들고 PowerApps에서 네이티브 함수를 호출하는 것처럼 API에서 제공하는 모든 작업을 호출합니다.Create a connection to the API in your app, and call any operations that the API provides, just like you call native functions in PowerApps.
  6. PowerApps에서 다른 데이터를 연결하는 것처럼 사용자 지정 커넥터를 공유합니다.Share your custom connector like you do other data connections in PowerApps. 이 단계는 옵션이지만 여러 앱 작성자가 사용자 지정 커넥터를 공유하는 것이 효율적입니다.This step is optional, but it often makes sense to share custom connectors across multiple app creators.

API 설명Describe your API

일부 형식의 인증된 액세스 권한을 가진 API가 있다고 가정하여 PowerApps가 데이터베이스에 연결할 수 있도록 API를 설명하는 방법이 필요합니다.Assuming you have an API with some type of authenticated access, you need a way to describe the API so that PowerApps can connect to it. 그러려면 OpenAPI 파일 또는 Postman 컬렉션을 만듭니다. 여기서 다음을 비롯한 모든 REST API 끝점을 수행할 수 있습니다.To do this, you create an OpenAPI file or a Postman Collection – which you can do from any REST API endpoint, including:

  • 공개적으로 사용할 수 있는 API입니다.Publicly available APIs. 몇 가지 예로 Spotify, Uber, Slack, Rackspace 등이 있습니다.Some examples include Spotify, Uber, Slack, Rackspace, and more.
  • Azure, AWS(Amazon Web Services), Heroku, Google 클라우드 등을 비롯한 클라우드 호스팅 공급자에 만들고 배포한 API입니다.An API that you create and deploy to any cloud hosting provider, including Azure, Amazon Web Services (AWS), Heroku, Google Cloud, and more.
  • API가 공용 인터넷에 노출되는 동안 네트워크에 배포된 사용자 지정 기간 업무 API입니다.A custom line-of-business API deployed on your network as long as the API is exposed on the public internet.

OpenAPI 파일 및 Postman 컬렉션은 다른 형식을 사용하지만 둘 다 API의 작업 및 매개 변수를 설명하는 언어 독립적인 머신 읽기 가능 문서입니다.OpenAPI files and Postman Collections use different formats, but both are language-agnostic machine-readable documents that describe your API's operations and parameters:

  • API가 기반으로 하는 언어 및 플랫폼에 따라 다양한 도구를 사용하여 이러한 문서를 생성할 수 있습니다.You can generate these documents using a variety of tools depending on the language and platform that your API is built on. OpenAPI 파일의 예제는 텍스트 분석 API 설명서를 참조하세요.See the Text Analytics API documentation for an example of an OpenAPI file.
  • 아직 API에 OpenAPI 파일이 없고 새로 만들지 않으려는 경우 Postman 컬렉션을 사용하여 사용자 지정 커넥터를 쉽게 만들 수 있습니다.If you don't already have an OpenAPI file for your API and don't want to create one, you can still easily create a custom connector by using a Postman Collection. 자세한 정보는 Postman 컬렉션 만들기를 참조하세요.See Create a Postman Collection for more information.
  • PowerApps는 이면에서 궁극적으로 OpenAPI를 사용하므로 Postman 컬렉션을 구문 분석하고 OpenAPI 정의 파일로 변환합니다.PowerApps ultimately uses OpenAPI behind the scenes, so a Postman Collection is parsed and translated into an OpenAPI definition file.

참고: 파일 크기는 1MB 미만이어야 합니다.Note: Your file size must be less than 1MB.

OpenAPI 및 Postman 시작Getting started with OpenAPI and Postman

사용자 지정 커넥터 등록Register your custom connector

이제 OpenAPI 파일 또는 Postman 컬렉션을 사용하여 사용자 지정 커넥터를 PowerApps에 등록합니다.You will now use the OpenAPI file or Postman Collection to register your custom connector in PowerApps.

  1. powerapps.com의 왼쪽 메뉴에서 연결을 선택합니다.In powerapps.com, in the left menu, select Connections. 줄임표(...)를 선택한 다음 오른쪽 위 모서리에서 사용자 지정 커넥터 관리를 선택합니다.Select the ellipsis (...), then select Manage custom connectors in the upper right corner.

    : 모바일 브라우저에서 사용자 지정 커넥터를 관리할 수 있는 위치를 찾을 수 없는 경우 왼쪽 위 모서리의 메뉴 아래에 있을 수 있습니다.Tip: If you can't find where to manage custom connectors in a mobile browser, it might be under a menu in the upper left corner.

    사용자 지정 커넥터 만들기

  2. 사용자 지정 커넥터 만들기를 선택합니다.Select Create custom connector.

    사용자 지정 커넥터 속성

  3. 일반 탭에서 사용자 지정 커넥터를 만드는 방법을 선택합니다.In the General tab, choose how you want to create the custom connector.

    • OpenAPI 파일 업로드Upload an OpenAPI file
    • OpenAPI URL 사용Use an OpenAPI URL
    • Postman 컬렉션 V1 업로드Upload Postman Collection V1

      사용자 지정 커넥터를 만드는 방법

      사용자 지정 커넥터에 아이콘 업로드Upload an icon for your custom connector. 설명, 호스트 및 기본 URL 필드는 일반적으로 OpenAPI 파일의 정보로 자동으로 채워집니다.Description, Host, and Base URL fields are typically auto-populated with the information from the OpenAPI file. 자동으로 채워지지 않는 경우 해당 필드에 정보를 추가할 수 있습니다.If they are not auto-populated, you can add information to those fields. 계속을 선택합니다.Select Continue.

  4. 보안 탭에서 인증 속성을 입력합니다.In the Security tab, enter any authentication properties.

    인증 형식

    • 인증 형식은 OpenAPI securityDefinitions 개체에서 정의된 내용에 따라 자동으로 채워집니다.The authentication type is auto-populated based on what is defined in your OpenAPI securityDefinitions object. OAuth2.0 예제는 다음과 같습니다.Below is an OAuth2.0 example.

      "securityDefinitions": {
          "AAD": {
          "type": "oauth2",
          "flow": "accessCode",
          "authorizationUrl": "https://login.windows.net/common/oauth2/authorize",
          "scopes": {}
          }
      },
      
    • OpenAPI 파일이 securityDefintions 개체를 사용하지 않는 경우 추가 값이 필요하지 않습니다.If the OpenAPI file does not use the securityDefintions object, then no additional values are needed.
    • Postman 컬렉션을 사용할 때 OAuth 2.0 또는 기본과 같은 지원되는 인증 형식을 사용하는 경우에만 인증 형식이 자동으로 채워집니다.When using a Postman Collection, authentication type is auto-populated only when using supported authentication types, such as OAuth 2.0 or Basic.
    • AAD(Azure Active Directory) 인증을 설정하는 예제는 PowerApps에서 사용자 지정 Web API 만들기를 참조하세요.For an example of setting up Azure Active Directory (AAD) authenthication, see Create a custom Web API for PowerApps.
  5. 정의 탭에서 OpenAPI 파일 또는 Postman 컬렉션에 정의된 모든 작업은 요청 및 응답 값을 사용하여 자동으로 채워집니다.In the Definitions tab, all the operations defined in your OpenAPI file or Postman Collection, along with request and response values, are auto-populated. 모든 필수 작업이 정의된 경우 이 화면에서 변경하지 않고 등록 프로세스의 6단계로 이동할 수 있습니다.If all your required operations are defined, you can go to step 6 in the registration process without making changes on this screen.

    정의 탭

    기존 작업을 편집하거나 사용자 지정 커넥터에 새 작업을 추가하려는 경우 아래를 계속 읽어보세요.If you want to edit existing actions or add new actions to your custom connector, continue reading below.

    1. OpenAPI 파일 또는 Postman 컬렉션에 없는 새 작업을 추가하려는 경우 왼쪽 창에서 새 작업을 선택하고, 일반 섹션에서 작업의 이름, 설명 및 표시 유형으로 채웁니다.If you want to add a new action that was not already in your OpenAPI file or Postman Collection, select New action in the left pane and fill in the General section with the name, description, and visibility of your operation.
    2. 요청 섹션의 오른쪽 위에 있는 샘플에서 가져오기를 선택합니다.In the Request section, select Import from sample on the top right. 오른쪽의 양식에서 샘플 요청을 붙여넣습니다.In the form on the right, paste in a sample request. 샘플 요청은 일반적으로 API 설명서에서 지원됩니다. 여기서 동사, 요청 URL, 헤더본문 필드를 채울 정보를 가져올 수 있습니다.Sample requests are usually available in the API documentation, where you can get information to fill out the Verb, Request URL, Headers, and Body fields. 예제는 텍스트 분석 API 설명서를 참조하세요.See the Text Analytics API documentation for an example.

      샘플에서 가져오기

    3. 가져오기를 선택하여 요청 정의를 완성합니다.Select Import to complete the request definition. 비슷한 방법으로 응답을 정의합니다.Define the response in a similar way.
  6. 모든 작업을 정의하면 만들기를 선택하여 사용자 지정 커넥터를 만듭니다.Once you have all your operations defined, select Create to create your custom connector.
  7. 사용자 지정 커넥터를 만들면 테스트 탭으로 이동하여 API에서 정의된 작업을 테스트합니다.Once you have created your custom connector, go to the Test tab to test the operations defined in the API. 연결을 선택하고 입력 매개 변수를 제공하여 작업을 테스트합니다.Choose a connection, and provide input parameters to test an operation.

    사용자 지정 커넥터 테스트

    호출에 성공하면 유효한 응답을 얻을 수 있습니다.If the call is successful, you get a valid response.

    API 응답 테스트

사용자 지정 커넥터 사용Use your custom connector

이제 API를 등록했으므로 다른 데이터 원본처럼 앱에 사용자 지정 커넥터를 추가합니다.Now that you've registered your API, add the custom connector to your app like you would any other data source. 여기에서 간단한 예를 살펴봅니다.We'll go through a brief example here. 데이터 연결에 대한 자세한 내용은 PowerApps에서 데이터 연결 추가를 참조하세요.For more information about data connections, see Add a data connection in PowerApps.

  1. PowerApps Studio의 오른쪽 창에서 데이터 원본 추가를 클릭하거나 누릅니다.In PowerApps Studio, in the right pane, click or tap Add data source.

  2. 만든 사용자 지정 커넥터를 클릭하거나 누릅니다.Click or tap the custom connector that you created.

  3. 연결하려는 서비스에 로그인하는 데 필요한 모든 단계를 완료합니다.Complete any steps necessary to sign in to the service you're connecting to. API가 OAuth 인증을 사용하는 경우 로그인 화면이 표시될 수 있습니다.If your API uses OAuth authentication, you might be presented a sign-in screen. API 키 인증의 경우 키 값을 입력하라는 메시지가 표시될 수 있습니다.For API key authentication, you might be prompted for a key value.
  4. 앱에서 API를 호출합니다.Call the API in your app. 이 예제에서 Cognitive Services에 텍스트를 전송하는 앱을 만들고 앱에서 백분율로 표시하는 0에서 1 사이의 감정 점수를 가져옵니다.For our example, we created an app that submits text to Cognitive Services and gets back a sentiment score of 0 to 1, which the app shows as a percentage.

    • 이 커넥터를 사용하여 수식 입력줄에 "Az"를 입력하기 시작하는 경우 API 및 지원되는 작업이 표시됩니다.With this connector, if you start typing "Az" in the formula bar, you see the API and the operations that it makes available.

    • 전체 호출이 이렇게 표시되면 여기에서 TextInput 컨트롤의 텍스트를 전달하고 앱에 표시할 점수를 가져옵니다.The complete call looks like this, where we pass in text from the TextInput control and get back a score to display in the app:

      'AzureMachineLearning-TextAnalytics'.Sentiment({documents:Table({language:"en",id:"1",text:TextInput.Text})}).documents.score)
      
    • 앱에서 약간 더 많은 작업을 수행하여 가져올 데이터를 처리하지만 너무 복잡하지는 않습니다.We do a little more work in the app to handle the data that comes back, but it's not too complicated.

완성된 앱은 다음 이미지처럼 표시됩니다.The finished app looks like the following image. 간단한 앱이지만 사용자 지정 커넥터를 통해 Cognitive Services를 호출할 수 있도록 하여 강력한 기능을 사용합니다.It's a simple app, but it gains powerful functionality by being able to call Cognitive Services through a custom connector.

할당량 및 제한Quota and throttling

  • 사용자 지정 커넥터 생성 할당량에 대한 세부 내용은 PowerApps 가격 책정 페이지를 참조하세요.See the PowerApps Pricing page for details about custom connector creation quotas. 사용자와 공유된 사용자 지정 커넥터는 이 할당량에 대해 계산되지 않습니다.Custom connectors that are shared with you don't count against this quota.
  • 사용자 지정 커넥터에서 만든 각 연결의 경우 사용자는 분당 최대 500개 요청을 만들 수 있습니다.For each connection created on a custom connector, users can make up to 500 requests per minute.

사용자 지정 커넥터 공유Share your custom connector

이제 사용자 지정 커넥터가 있으므로 조직의 다른 사용자와 공유할 수 있습니다.Now that you have a custom connector, you can share it with other users in your organization. API를 공유하는 경우 다른 사용자도 공유하기 시작할 수 있고 사용자 지정 커넥터를 삭제하면 API에 대한 모든 연결이 삭제됩니다.Keep in mind that when you share an API, others might start to depend on it, and deleting a custom connector deletes all the connections to the API. 조직 외부의 사용자에게 커넥터를 제공하려는 경우 PowerApps에서 사용자 지정 커넥터 인증 개요를 참조하세요.If you want to provide a connector for users outside your organization, see Overview of certifying custom connectors in PowerApps.

  1. powerapps.com의 왼쪽 메뉴에서 연결을 선택합니다.In powerapps.com, in the left menu, select Connections. 줄임표(...)를 선택한 다음 오른쪽 위 모서리에서 사용자 지정 커넥터 관리를 선택합니다.Select the ellipsis (...), then select Manage custom connectors in the upper right corner.

    새 연결

  2. 커넥터에 대한 줄임표(...) 단추를 선택한 다음 속성 보기를 선택합니다.Select the ellipsis (. . .) button for your connector, then select View properties.

    커넥터 속성 보기

  3. API를 선택하고, 공유를 선택하고, API에 대한 액세스 권한을 부여하려는 사용자 또는 그룹을 입력합니다.Select your API, select Share, and then enter the users or groups to whom you want to grant access to your API.

    사용자 지정 커넥터 공유

  4. 저장을 선택합니다.Select Save.

다음 단계Next steps

Postman 컬렉션을 만드는 방법 알아보기Learn how to create a Postman Collection

ASP.NET Web API 사용Use an ASP.NET Web API.

Azure Resource Manager API 등록Register an Azure Resource Manager API.