Registrer og anvend brugerdefinerede connectorer i PowerAppsRegister and use custom connectors in PowerApps

PowerApps gør det muligt for dig at bygge komplette apps uden traditionel programkode.PowerApps enables you to build full-featured apps with no traditional application code. Men i nogle tilfælde skal du udvide PowerApps-egenskaberne, og det er webtjenester velegnet til.But in some cases you need to extend PowerApps capabilites, and web services are a natual fit for this. Din app kan oprette forbindelse til en tjeneste, udføre handlinger og få data tilbage.Your app can connect to a service, perform operations, and get data back. Når du har en webtjeneste, du vil oprette forbindelse til vha. PowerApps, skal du registrere tjenesten som en brugerdefineret connector.When you have a web service you want to connect to with PowerApps, you register the service as a custom connector. Denne proces gør det muligt for PowerApps at forstå egenskaberne i din web-API, herunder den godkendelse, der kræves, de handlinger, den understøtter, samt parametre og output for hver af disse handlinger.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.

I dette emne ser vi nærmere på de trin, der kræves for at registrere og bruge en brugerdefineret connector, og vi bruger Tekstanalyse-API'en i Azure Cognitive Services som eksempel.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. Denne API identificerer sproget, synspunkterne og nøglesætningerne i den tekst, du sender til den.This API identifies the language, sentiment, and key phrases in text that you pass to it. På følgende billede vises interaktionen mellem tjenesten, den brugerdefinerede connector, der oprettes fra den, samt den app, som kalder API'en.The following image shows the interaction between the service, the custom connector we create from it, and the app that calls the API.

API, brugerdefineret connector og app

ForudsætningerPrerequisites

  • En PowerApps-konto.A PowerApps account.
  • En OpenAPI-fil i JSON-format, en URL-adresse til en OpenAPI-definition eller en Postman Collection til din API.An OpenAPI file in JSON format, a URL to an OpenAPI definition, or a Postman Collection for your API. Hvis du ikke har nogen af disse, skal vi nok give dig retningslinjer.If you don't have any of these, we'll provide guidance for you.
  • Et billede, der skal bruges som et ikon for den brugerdefinerede connector (valgfri).An image to use as an icon for your custom connector (optional).

Trin i processen med den brugerdefinerede connectorSteps in the custom connector process

Processen med den brugerdefinerede connector indeholder flere trin, der beskrives kort nedenfor.The custom connector process has several steps, which we describe briefly below. I denne artikel forudsættes det, at du allerede har en RESTful-API med en form for godkendt adgang, så vi kan fokusere på trinnene 3-6 i resten af artiklen.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. Du kan finde et eksempel på trin 1 og 2 under Opret en brugerdefineret web-API til PowerApps.For an example of steps 1 and 2, see Create a custom Web API for PowerApps.

  1. Byg en RESTful-API i et sprog på en platform efter eget valg.Build a RESTful API in the language and platform of your choice. Vi anbefaler en af følgende Microsoft-teknologier.For Microsoft technologies, we recommend one of the following.

    • Azure FunctionsAzure Functions
    • Web Apps i Azure App ServiceAzure Web Apps
    • Azure API AppsAzure API Apps
  2. Sørg for at sikre din API vha. en af følgende godkendelsesmetoder.Secure your API using one of the following authentication mechanisms. Du kan tillade ikke-godkendt adgang til dine API'er, men vi anbefaler det ikke.You can allow unauthenticated access to your APIs, but we don't recommend it.

  3. Beskriv din API på én af to måder som er branchestandard, så PowerApps kan oprette forbindelse til den.Describe your API in one of two industry-standard ways, so that PowerApps can connect to it.

    • En OpenAPI-fil (kaldes også en Swagger-fil)An OpenAPI file (also known as a Swagger file)
    • En Postman CollectionA Postman Collection

      Du kan også bygge en OpenAPI-fil i trin 4, som en del af registreringsprocessen.You can also build an OpenAPI file in step 4 as part of the registration process.

  4. Registrer den brugerdefinerede connector vha. en guide i PowerApps, hvor du angiver en API-beskrivelse, sikkerhedsoplysninger samt andre oplysninger.Register your custom connector using a wizard in PowerApps, where you specify an API description, security details, and other information.
  5. Brug den brugerdefinerede connector i en app.Use your custom connector in an app. Opret en forbindelse til API'en i din app, og kald de handlinger, API'en leverer, ligesom du kalder indbyggede funktioner i PowerApps.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. Del den brugerdefinerede connector, som du deler andre dataforbindelser i PowerApps.Share your custom connector like you do other data connections in PowerApps. Dette trin er valgfrit, men ofte giver det mening at dele brugerdefinerede connectorer på tværs af flere appoprettere.This step is optional, but it often makes sense to share custom connectors across multiple app creators.

Beskriv din APIDescribe your API

Hvis du har en API med en form for godkendt adgang, skal du beskrive API'en på en måde, så PowerApps kan oprette forbindelse til den.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. Det gør du ved at oprette en OpenAPI-fil eller en Postman Collection – det kan du gøre fra et vilkårligt REST-API-slutpunkt, herunder:To do this, you create an OpenAPI file or a Postman Collection – which you can do from any REST API endpoint, including:

  • Offentligt tilgængelige API'er.Publicly available APIs. Det kan eksempelvis være Spotify, Uber, Slack, Rackspace m.fl.Some examples include Spotify, Uber, Slack, Rackspace, and more.
  • En API, som du opretter og udruller til en cloudhostingudbyder, herunder Azure, Amazon Web Services (AWS), Heroku, Google Cloud med mere.An API that you create and deploy to any cloud hosting provider, including Azure, Amazon Web Services (AWS), Heroku, Google Cloud, and more.
  • En brugerdefineret line-of-business-API, der er udrullet på netværket, så længe API'en er eksponeret på det offentlige internet.A custom line-of-business API deployed on your network as long as the API is exposed on the public internet.

OpenAPI-filer og Postman Collections bruger forskellige formater, men begge er sprogagnostiske maskinlæsbare dokumenter, der beskriver din API-handlinger og -parametre:OpenAPI files and Postman Collections use different formats, but both are language-agnostic machine-readable documents that describe your API's operations and parameters:

  • Du kan oprette disse dokumenter vha. en række forskellige værktøjer, afhængigt af det sprog og den platform API'en er baseret på.You can generate these documents using a variety of tools depending on the language and platform that your API is built on. Du kan se et eksempel på en OpenAPI-fil i dokumentation til Tekstanalyse-API.See the Text Analytics API documentation for an example of an OpenAPI file.
  • Hvis du ikke allerede har en OpenAPI-fil til din API og ikke ønsker at oprette en, kan stadig du nemt oprette en brugerdefineret connector vha. en Postman Collection.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. Du kan finde flere oplysninger under Opret en Postman Collection.See Create a Postman Collection for more information.
  • PowerApps bruger i sidste ende OpenAPI i baggrunden, så en Postman Collection fortolkes og oversættes til en OpenAPI-definitionsfil.PowerApps ultimately uses OpenAPI behind the scenes, so a Postman Collection is parsed and translated into an OpenAPI definition file.

Bemærk! Filstørrelsen skal være mindre end 1 MB.Note: Your file size must be less than 1MB.

Introduktion til OpenAPI og PostmanGetting started with OpenAPI and Postman

Registrer den brugerdefinerede connectorRegister your custom connector

Du skal nu bruge OpenAPI-filen eller Postman Collection til at registrere den brugerdefinerede connector i PowerApps.You will now use the OpenAPI file or Postman Collection to register your custom connector in PowerApps.

  1. Under powerapps.com i menuen til venstre skal du vælge Connections.In powerapps.com, in the left menu, select Connections. Vælg ellipsen (... ), og vælg derefter Manage custom connectors i øverste højre hjørne.Select the ellipsis (...), then select Manage custom connectors in the upper right corner.

    Tip! Hvis du ikke kan finde ud af, hvor du kan administrere brugerdefinerede connectorer i en mobilwebbrowser, kan det være under en menu i øverste venstre hjørne.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.

    Opret en brugerdefineret connector

  2. Vælg Create custom connector.Select Create custom connector.

    Egenskaber for brugerdefineret connector

  3. Under fanen General skal du vælge, hvordan du vil oprette den brugerdefinerede connector.In the General tab, choose how you want to create the custom connector.

    • Upload en OpenAPI-filUpload an OpenAPI file
    • Brug en OpenAPI-URL-adresseUse an OpenAPI URL
    • Upload Postman Collection V1Upload Postman Collection V1

      Sådan opretter du en brugerdefineret connector

      Upload et ikon for den brugerdefinerede connector.Upload an icon for your custom connector. Felterne Description, Host og Base URL udfyldes normalt automatisk med oplysningerne fra OpenAPI-filen.Description, Host, and Base URL fields are typically auto-populated with the information from the OpenAPI file. Hvis felterne ikke udfyldes automatisk, kan du selv tilføje oplysningerne i dem.If they are not auto-populated, you can add information to those fields. Vælg Continue.Select Continue.

  4. På fanen Security skal du angive eventuelle godkendelsesegenskaber.In the Security tab, enter any authentication properties.

    Godkendelsestyper

    • Godkendelsestypen udfyldes automatisk baseret på det, der er defineret i dit OpenAPI-objekt securityDefinitions.The authentication type is auto-populated based on what is defined in your OpenAPI securityDefinitions object. Nedenfor ses et eksempel på OAuth2.0.Below is an OAuth2.0 example.

      "securityDefinitions": {
          "AAD": {
          "type": "oauth2",
          "flow": "accessCode",
          "authorizationUrl": "https://login.windows.net/common/oauth2/authorize",
          "scopes": {}
          }
      },
      
    • Hvis OpenAPI-filen ikke bruger objektet securityDefintions, er der ikke behov for yderligere værdier.If the OpenAPI file does not use the securityDefintions object, then no additional values are needed.
    • Når du bruger en Postman Collection, udfyldes godkendelsestypen kun automatisk, når du bruger understøttede godkendelsestyper, f.eks. OAuth 2.0 eller Basic.When using a Postman Collection, authentication type is auto-populated only when using supported authentication types, such as OAuth 2.0 or Basic.
    • Du kan se et eksempel på konfiguration af AAD-godkendelse (Azure Active Directory) under Opret en brugerdefineret web-API til PowerApps.For an example of setting up Azure Active Directory (AAD) authenthication, see Create a custom Web API for PowerApps.
  5. På fanen Definitions udfyldes alle de handlinger, der er defineret i OpenAPI-filen eller Postman Collection, også automatisk sammen med værdier for anmodninger og svar.In the Definitions tab, all the operations defined in your OpenAPI file or Postman Collection, along with request and response values, are auto-populated. Hvis alle de påkrævede handlinger er defineret, kan du gå til trin 6 i registreringsprocessen uden at foretage ændringer på dette skærmbillede.If all your required operations are defined, you can go to step 6 in the registration process without making changes on this screen.

    Fanen Definition

    Hvis du vil redigere eksisterende handlinger eller tilføje nye til den brugerdefinerede connector, skal du læse videre herunder.If you want to edit existing actions or add new actions to your custom connector, continue reading below.

    1. Hvis du vil tilføje en ny handling, der ikke allerede indes i OpenAPI-filen eller Postman Collection, skal du vælge New action i ruden til venstre og udfylde sektionen General med samme navn, beskrivelse og synlighed som er angivet for handlingen.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. I sektionen Request skal du vælge Import from sample øverst til højre.In the Request section, select Import from sample on the top right. I formularen til højre skal du indsætte i en eksempelanmodning.In the form on the right, paste in a sample request. Eksempelanmodninger er normalt tilgængelige i API-dokumentationen, hvor du kan få oplysninger om udfyldning af felterne Verb, Request URL, Headers og Body.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. Du kan se et eksempel i dokumentation til Tekstanalyse-API.See the Text Analytics API documentation for an example.

      Importér fra eksempel

    3. Vælg Import for at fuldføre anmodningsdefinitionen.Select Import to complete the request definition. Definer svaret på en lignende måde.Define the response in a similar way.
  6. Når du har defineret alle dine handlinger, skal du vælge Create for at oprette den brugerdefinerede connector.Once you have all your operations defined, select Create to create your custom connector.
  7. Når du har oprettet den brugerdefinerede connector, skal du gå til fanen Test for at teste de handlinger, der er defineret i API'en.Once you have created your custom connector, go to the Test tab to test the operations defined in the API. Vælg en forbindelse, og angiv inputparametre for at teste en handling.Choose a connection, and provide input parameters to test an operation.

    Test en brugerdefineret connector

    Hvis kaldet lykkes, får du et gyldigt svar.If the call is successful, you get a valid response.

    Test API-svar

Brug den brugerdefinerede connectorUse your custom connector

Nu, hvor du har registreret din API, kan du føje den brugerdefinerede connector til din app, som enhver anden datakilde.Now that you've registered your API, add the custom connector to your app like you would any other data source. Her gennemgås et kort eksempel.We'll go through a brief example here. Du kan finde flere oplysninger om dataforbindelser under Tilføj en dataforbindelse i PowerApps.For more information about data connections, see Add a data connection in PowerApps.

  1. I PowerApps Studio skal du i ruden til højre klikke eller trykke på Add data source.In PowerApps Studio, in the right pane, click or tap Add data source.

  2. Klik eller tryk på den brugerdefinerede connector, du har oprettet.Click or tap the custom connector that you created.

  3. Udfør de trin, der er nødvendige for at logge på den tjeneste, du opretter forbindelse til.Complete any steps necessary to sign in to the service you're connecting to. Hvis din API bruger OAuth-godkendelse, får du muligvis vist en logonskærm.If your API uses OAuth authentication, you might be presented a sign-in screen. I forbindelse med API-nøglegodkendelse kan du blive bedt om at angive en nøgleværdi.For API key authentication, you might be prompted for a key value.
  4. Kald API'en i din app.Call the API in your app. I dette eksempel har vi oprettet en app, der sender tekst til Cognitive Services og får returneret en synspunktsscore på 0 til 1, hvilket i appen vises som en procentdel.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.

    • Hvis du begynder at skrive "Az" på formellinjen i denne connector, kan du se API'en og de handlinger, der er tilgængelige.With this connector, if you start typing "Az" in the formula bar, you see the API and the operations that it makes available.

    • Det komplette kald ser ud som følger, når vi sender tekst fra kontrolelementet TextInput og får en score tilbage, der kan vises i appen: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)
      
    • Vi arbejder lidt mere i appen for at håndtere de data, der kommer tilbage, men det er ikke særlig kompliceret.We do a little more work in the app to handle the data that comes back, but it's not too complicated.

Den færdige app ligner følgende billede.The finished app looks like the following image. Det er en enkel app, men den opnår kraftfuld funktionalitet ved at kunne kalde Cognitive Services via en brugerdefineret connector.It's a simple app, but it gains powerful functionality by being able to call Cognitive Services through a custom connector.

Kvoter og begrænsningerQuota and throttling

  • Se på siden med priser på PowerApps for at få oplysninger om kvoter for oprettelse af brugerdefinerede connectorer.See the PowerApps Pricing page for details about custom connector creation quotas. Brugerdefinerede connectorer, der er delt med dig, tæller ikke i denne kvote.Custom connectors that are shared with you don't count against this quota.
  • For hver forbindelse, der er oprettet på en brugerdefineret connector, kan brugerne foretage op til 500 anmodninger i minuttet.For each connection created on a custom connector, users can make up to 500 requests per minute.

Del den brugerdefinerede connectorShare your custom connector

Nu hvor du har en brugerdefineret connector, kan du dele den med andre brugere i organisationen.Now that you have a custom connector, you can share it with other users in your organization. Husk på, at når du deler en API, bliver andre muligvis afhængige af den, og når du sletter en brugerdefineret connector, slettes alle forbindelserne til API'en.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. Hvis du vil oprette en connector for brugere uden for organisationen, kan du se under Oversigt over certificering af brugerdefinerede connectorer i PowerApps.If you want to provide a connector for users outside your organization, see Overview of certifying custom connectors in PowerApps.

  1. Under powerapps.com i menuen til venstre skal du vælge Connections.In powerapps.com, in the left menu, select Connections. Vælg ellipsen (... ), og vælg derefter Manage custom connectors i øverste højre hjørne.Select the ellipsis (...), then select Manage custom connectors in the upper right corner.

    Ny forbindelse

  2. Vælg ellipseknappen (... ) for connectoren, og vælg derefter View properties.Select the ellipsis (. . .) button for your connector, then select View properties.

    Få vist egenskaber for connector

  3. Vælg din API, vælg Share, og angiv derefter de brugere eller grupper, du vil give adgang til din API.Select your API, select Share, and then enter the users or groups to whom you want to grant access to your API.

    Del en brugerdefineret connector

  4. Vælg Save.Select Save.

Næste trinNext steps

Få mere at vide om, hvordan du opretter en Postman CollectionLearn how to create a Postman Collection

Brug en ASP.NET-web-API.Use an ASP.NET Web API.

Registrer en Azure Resource Manager-API.Register an Azure Resource Manager API.