Testverbinding implementeren

Testverbinding is een eenvoudig ingangspunt dat kan worden gedefinieerd voor een connector voor gebruik met Azure Logic Apps, Power Automate of Power Apps. Door een bewerking voor de testverbinding beschikbaar te maken, kan de connector ontwerptijd en runtimevalidatie van verbindingsparameters bieden.

Vereisten

Een nieuwe testverbindingsbewerking toevoegen

Het toevoegen van een bewerking voor TestConnection is een zeer eenvoudig proces. U kunt een bestaande bewerking gebruiken als middel om de verbinding te testen of een specifieke bewerking toevoegen die alleen als taak heeft de verbindingsparameters te testen. De bewerking moet een 'get' zijn en een aanroep zonder parameters of met in code vastgelegde parameters ondersteunen.

Het toevoegen van een nieuwe bewerking voor dit doel kan er in de OpenAPI-specificatie als volgt uitzien:

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

Belangrijk

U ziet dat deze bewerking als internal is gemarkeerd. Als u een nieuw toegangspunt voor dit doel toevoegt, wordt het ten zeerste aangeraden deze bewerking voor de gebruiker te verbergen door de zichtbaarheid als zodanig te markeren.

Het eindpunt dat als testverbinding moet worden gebruikt, moet worden geïdentificeerd door op het hoogste niveau een uitbreiding aan de API toe te voegen, bijvoorbeeld als volgt:

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

De operationId die in dit kenmerk is opgegeven, moet in dezelfde OpenAPI-specificatie voorkomen om geldig te zijn.

Een bestaande bewerking voor de testverbinding opnieuw gebruiken

Het is vaak eenvoudiger en qua beheer gemakkelijker om een bestaande bewerking te identificeren waarmee de levensvatbaarheid van de verbinding zonder hoge kosten of het optreden van latentie kan worden gevalideerd. Dit kan worden bereikt zonder een nieuwe bewerking toe te voegen, maar door simpelweg aan te geven welke bewerking moet worden gebruikt, en welke parameters moeten worden doorgegeven (indien van toepassing).

In het volgende voorbeeld wordt een bestaande get-bewerking met de naam GetTables gebruikt. Als de verbinding geldig is en de parameters juist zijn, slaagt deze bewerking. Om ervoor te zorgen dat de testverbindingsbewerking zo snel mogelijk wordt uitgevoerd, wordt in het voorbeeld ook een parameter aan de aanroep toegevoegd om aan te geven dat alleen de eerste rij moet worden geretourneerd.

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

Testverbinding implementeren

Als u een testverbinding wilt implementeren en er voor dit doel geen andere bestaande bewerking geschikt is, kunt u dit doen met een eenvoudige back-endoproep. Voor de bewerking zijn geen parameters nodig en er hoeft geen inhoud te worden geretourneerd. Het URL-pad is evenmin van belang en kan worden geselecteerd op basis van uw voorkeur. De enige maatstaf voor een geslaagde testverbindingsaanroep is een geslaagd antwoord (bijvoorbeeld 200) van de HTTP-aanroep. Binnen de testverbindingsbewerking vereist het contract dat de connector de verificatiecontext en de verbindingsparameters valideert.

Dit kan worden bereikt door query's uit te voeren voor iets simpels op de back-end, waardoor gebruik wordt gemaakt van de verificatieparameters en eventuele databases of scoping. Het uitvoeren van query's voor de bovenste rij van een eenvoudige tabel is een goed voorbeeld van een testverbindingsmethode.

Feedback geven

We stellen feedback over problemen met ons connectorplatform of ideeën voor nieuwe functies zeer op prijs. Om feedback te geven, gaat u naar Problemen melden of hulp krijgen met connectoren en selecteer uw feedbacktype.