Implementering af testforbindelse

En testforbindelse er et simpelt indgangspunkt, der kan defineres for en connector til brug med Azure Logic Apps, Power Automate eller Power Apps. Ved at eksponere en handling for en testforbindelse kan connectoren validere forbindelsesparametre på designtidspunktet og under kørslen.

Forudsætninger

Tilføjelse af en ny handling for testforbindelse

Det er meget enkelt at tilføje en handling for TestConnection. Du har mulighed for at bruge en hvilken som helst eksisterende handling til at teste forbindelsen på, eller du kan tilføje en specifik handling, hvis job det kun er at teste forbindelsesparametrene. Handlingen skal være af typen "hent" og understøtte et kald uden parametre eller med hårdt kodede parametre.

Tilføjelse af en ny handling til dette formål kan se ud på følgende måde i OpenAPI-specifikationen:

    "/diagnostics/testconnection": {
      "get": {
        "tags": [ "Diagnostics" ],
        "operationId": "TestMyAPIConnection",
        "consumes": [],
        "produces": [],
        "responses": {
          "200": { "description": "OK" },
          "default": { "description": "Operation Failed." }
        },
        "x-ms-visibility": "internal"
      }
    }

Vigtigt

Bemærk, at denne handling er markeret som internal. Hvis du tilføjer et nyt indgangspunkt til dette formål, opfordres du til at skjule denne handling fra brugeren ved at markere synligheden derefter.

Det slutpunkt, der er beregnet til at blive brugt som testforbindelse, skal identificeres ved at føje en udvidelse til API'en på det øverste niveau, på følgende måde:

 "x-ms-capabilities": {
    "testConnection": {
      "operationId": "TestMyAPIConnection",
      "parameters": {}
    }
  }

Det operationId, der er angivet i denne attribut, skal findes i den samme OpenAPI-specifikation, før det er gyldigt.

Genbrug af en eksisterende handling for testforbindelsen

Det er ofte nemmere og mere håndterbart at identificere en eksisterende handling, der kan validere gennemførligheden af forbindelsen uden at påføre omkostninger eller ventetid. Dette kan opnås uden at tilføje en ny handling, men blot ved at angive, hvilken handling der skal bruges, og hvilke parametre der skal overføres (hvis nogen).

I følgende eksempel bruges en eksisterende "hent"-handling, der kaldes for GetTables, hvilket bør lykkes, hvis forbindelsen er gyldig, og parametrene er korrekte. For at sikre, at handlingen for testforbindelsen udføres så hurtigt som muligt, føjes der også en parameter til kaldet for at angive, at det kun er den første række, der skal returneres.

 "x-ms-capabilities": {
    "testConnection": {
      "operationId": "GetTables",
      "parameters": {
        "$top": 1
      }
    }
  }

Implementering af testforbindelse

Hvis du har brug for at implementere en testforbindelse, og du ikke har nogen eksisterende handlinger, der passer til dette formål, kan du gøre det ved hjælp af et simpelt backend-kald. Handlingen behøver ingen parametre eller at returnere noget indhold. Stien til URL-adressen er heller ikke vigtig og kan vælges ud fra dine præferencer. Det eneste, der gælder for et vellykket kald af en testforbindelse, er et vellykket svar (f.eks. 200) fra HTTP-kaldet. I handlingen for testforbindelsen anmoder kontrakten simpelthen om, at connectoren validerer godkendelseskonteksten og forbindelsesparametrene.

Dette kan opnås ved ganske enkelt at sende en forespørgsel til noget enkelt på den pågældende backend, hvorved der gøres brug af godkendelsesparametrene og en hvilken som helst database eller et hvilket som helst omfang, der kan impliceres. Forespørgsel efter den øverste række i en simpel tabel er et godt eksempel på en fremgangsmåde for en testforbindelse.