Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
GÄLLER FÖR: Alla API Management-nivåer
Konfigurera en matchare för att hämta eller ange data för ett GraphQL-fält i en objekttyp som anges i ett GraphQL-schema. Schemat måste importeras till API Management som ett GraphQL-API.
Anteckning
För närvarande är den här funktionen inte tillgänglig på arbetsytor.
API Management stöder för närvarande matchare som kan komma åt följande datakällor:
inbound
principer och backend
principer i pipelinen för principkörning. De ärver inte principer från andra omfång. Mer information finns i Principer i API Management.inbound
för att verifiera begäran innan matcharen anropas. Konfigurera API-omfångsprinciper på fliken API-principer för API:et.__typename
fältet eller ändras med hjälp av set-body-principen för att inkludera __typename
.Följande steg skapar en lösning med hjälp av en HTTP-baserad datakälla. De allmänna stegen liknar alla matchare som använder en datakälla som stöds.
I Azure Portal navigerar du till din API Management-instans.
I den vänstra menyn väljer du API:er och sedan namnet på graphQL-API:et.
På fliken Schema granskar du schemat för ett fält i en objekttyp där du vill konfigurera en matchare.
Välj ett fält och hovra sedan pekaren i vänstermarginalen.
Välj + Lägg till lösen.
På sidan Skapa lösning :
Uppdatera principen med underordnade element för ditt scenario i Redigeraren för resolver-principerhttp-data-source
.
Uppdatera det nödvändiga http-request
elementet med principer för att omvandla GraphQL-åtgärden till en HTTP-begäran.
Du kan också lägga till ett http-response
element och lägga till underordnade principer för att transformera HTTP-svaret för matcharen. Om elementet http-response
inte anges returneras svaret som en råsträng.
Välj Skapa.
Matcharen är kopplad till fältet och visas på fliken Matchare .
Lista och hantera matcharna för ett GraphQL-API på fliken Matchare för API:et.
På fliken Matchare :
Kolumnen Länkad anger om matcharen är konfigurerad för ett fält som för närvarande finns i GraphQL-schemat. Om en lösning inte är länkad kan den inte anropas.
I snabbmenyn (...) för en matchare hittar du kommandon för att klona, redigera eller ta bort en matchare. Klona en listad matchare för att snabbt skapa en liknande lösning som riktar sig mot en annan typ och ett annat fält.
Du kan skapa en ny lösning genom att välja + Skapa.
När du redigerar en enskild matchare öppnas sidan Redigera matchare . Du kan:
Uppdatera matchningsprincipen och eventuellt datakällan. Om du ändrar datakällan skrivs den aktuella matchningsprincipen över.
Ändra den typ och det fält som matcharen riktar in sig på.
Testa och felsöka matcharens konfiguration. När du redigerar matchningsprincipen väljer du Kör test för att kontrollera utdata från datakällan, som du kan verifiera mot schemat. Om fel inträffar innehåller svaret felsökningsinformation.
context.GraphQL
egenskaperna anges till argumenten (Arguments
) och det överordnade objektet (Parent
) för den aktuella matchningskörningen.context
som skickas via pipelinen för begäran och svar utökas med GraphQL-kontexten när den används med en GraphQL-matchare.context.GraphQL.parent
är inställt på det överordnade objektet för den aktuella matchningskörningen. Överväg följande partiella schema:
type Comment {
id: ID!
owner: string!
content: string!
}
type Blog {
id: ID!
title: string!
content: string!
comments: [Comment]!
comment(id: ID!): Comment
}
type Query {
getBlog(): [Blog]!
getBlog(id: ID!): Blog
}
Överväg också en GraphQL-fråga för all information för en specifik blogg:
query {
getBlog(id: 1) {
title
content
comments {
id
owner
content
}
}
}
Om du anger en lösning för comments
fältet i Blog
typen vill du förstå vilket blogg-ID som ska användas. Du kan hämta ID:t för bloggen med hjälp av context.GraphQL.Parent["id"]
det som visas i följande lösning:
<http-data-source>
<http-request>
<set-method>GET</set-method>
<set-url>@($"https://data.contoso.com/api/blog/{context.GraphQL.Parent["id"]}")
</set-url>
</http-request>
</http-data-source>
Argumenten för en parameteriserad GraphQL-fråga läggs till i context.GraphQL.Arguments
. Tänk till exempel på följande två frågor:
query($id: Int) {
getComment(id: $id) {
content
}
}
query {
getComment(id: 2) {
content
}
}
Dessa frågor är två sätt att anropa matcharen getComment
. GraphQL skickar följande JSON-nyttolast:
{
"query": "query($id: Int) { getComment(id: $id) { content } }",
"variables": { "id": 2 }
}
{
"query": "query { getComment(id: 2) { content } }"
}
Du kan definiera matcharen på följande sätt:
<http-data-source>
<http-request>
<set-method>GET</set-method>
<set-url>@($"https://data.contoso.com/api/comment/{context.GraphQL.Arguments["id"]}")</set-url>
</http-request>
</http-data-source>
Fler lösningsexempel finns i:
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Kom igång med GraphQL i Microsoft Fabric - Training
Lär dig hur GraphQL i Microsoft Fabric fungerar, viktiga begrepp och praktiska exempel som hjälper användarna att integrera sina program med GraphQL effektivt som en del av sina lösningar.
Certifiering
Microsoftcertifierad: Azure Cosmos DB-utvecklarspecialitet - Certifications
Skriva effektiva frågor, skapa indexeringsprinciper, hantera och etablera resurser i SQL API och SDK med Microsoft Azure Cosmos DB.