Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Lagrade procedurer kan exponeras som REST- eller GraphQL-slutpunkter i DAB. Detta är användbart för scenarier som omfattar anpassad logik, filtrering, validering eller beräknade resultat som inte hanteras av enkla tabeller eller vyer.
Konfiguration
Så här exponerar du en lagrad procedur:
- Ställ in
source.typepå"stored-procedure" - Ange
source.objecttill det fullständigt kvalificerade procedurnamnet - Definiera valfritt
parametersmed sina standardvärden, om det behövs - Ange
rest.methods(till exempel"GET","POST") ellerrest: false - Ange
graphql.operationtill"query"eller"mutation", eller utelämna för att använda standardvärdet"mutation" - Bevilja behörighet med hjälp av
"execute"åtgärden
CLI-exempel
dab add GetCowrittenBooksByAuthor \
--source dbo.stp_get_all_cowritten_books_by_author \
--source.type "stored-procedure" \
--source.params "searchType:default-value" \
--permissions "anonymous:execute" \
--rest.methods "get" \
--graphql.operation "query"
Konfigurationsexempel
"GetCowrittenBooksByAuthor": {
"source": {
"type": "stored-procedure",
"object": "dbo.stp_get_all_cowritten_books_by_author",
"parameters": {
"searchType": "default-value"
}
},
"rest": {
"methods": [ "GET" ]
},
"graphql": {
"operation": "query"
},
"permissions": [
{
"role": "anonymous",
"actions": [ "execute" ]
}
]
}
REST-stöd
- Stöder endast
GETochPOST - Standardvärdet är
POSTommethodsutelämnas - Skickar parametrar via frågesträng med
GET - Skickar parametrar via JSON-brödtext med
POST - Inaktiverar REST för en lagrad procedur om
"rest": falseär inställt
Exempel begäranden
GET /api/GetCowrittenBooksByAuthor?author=asimov
POST /api/GetCowrittenBooksByAuthor
{
"author": "asimov"
}
Stöd för GraphQL
- Kräver
graphql.operationatt vara"query"eller"mutation" - Fälten är automatiskt fördefinierade med
execute, till exempelexecuteGetCowrittenBooksByAuthor - Parametrar skickas som GraphQL-argument
Exempel på GraphQL
query {
executeGetCowrittenBooksByAuthor(author: "asimov") {
id
title
}
}
Begränsningar
- Endast den första resultatuppsättningen returneras
- Sidnumrering, filtrering och ordning stöds inte
- Relationer stöds inte
- Kräver metadata från
sys.dm_exec_describe_first_result_set - Det går inte att returnera ett enskilt objekt efter nyckel
- Ingen auktorisering på parameternivå