Referens för RestApiPoller-dataanslutning för codeless connector-plattformen
Om du vill skapa en RestApiPoller
dataanslutning med Codeless Connector Platform (CCP) använder du den här referensen som ett tillägg till dokumentationen om Microsoft Sentinel REST API for Data Connectors .
Var dataConnector
och en representerar en specifik anslutning för en Microsoft Sentinel-dataanslutning. En dataanslutning kan ha flera anslutningar som hämtar data från olika slutpunkter. JSON-konfigurationen som skapats med det här referensdokumentet används för att slutföra distributionsmallen för CCP-dataanslutningen.
Mer information finns i Skapa en kodlös anslutningsapp för Microsoft Sentinel.
Dataanslutningsprogram – Skapa eller uppdatera
Referera till åtgärden Skapa eller uppdatera i REST API-dokumenten för att hitta den senaste stabila api-versionen eller förhandsversionen av API:et. Skillnaden mellan åtgärden skapa och uppdatera är uppdateringen kräver etag-värdet .
PUT-metod
https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectors/{{dataConnectorId}}?api-version={{apiVersion}}
URI-parametrar
Mer information om den senaste API-versionen finns i Dataanslutningsprogram – Skapa eller uppdatera URI-parametrar.
Begärandetext
Begärandetexten för en RestApiPoller
CCP-dataanslutning har följande struktur:
{
"name": "{{dataConnectorId}}",
"kind": "RestApiPoller",
"etag": "",
"properties": {
"connectorDefinitionName": "",
"auth": {},
"request": {},
"response": {},
"paging": "",
"dcrConfig": ""
}
}
RestApiPoller
RestApiPoller representerar en API Poller CCP-dataanslutning där du anpassar nyttolaster för växling, auktorisering och begäran/svar för datakällan.
Namn | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
Namn | Sant | sträng | Det unika namnet på anslutningen som matchar URI-parametern |
sort | Sant | sträng | Måste vara RestApiPoller |
etag | GUID | Lämna tomt för att skapa nya anslutningsappar. För uppdateringsåtgärder måste etag-taggen matcha den befintliga anslutningsappens etag (GUID). | |
properties.connectorDefinitionName | sträng | Namnet på den DataConnectorDefinition-resurs som definierar UI-konfigurationen för dataanslutningen. Mer information finns i Definition av dataanslutningsapp. | |
Egenskaper.Auth | Sant | Kapslad JSON | Beskriver autentiseringsegenskaperna för avsökning av data. Mer information finns i autentiseringskonfiguration. |
Egenskaper.begäran | Sant | Kapslad JSON | Beskriver nyttolasten för begäran för avsökning av data, till exempel API-slutpunkten. Mer information finns i konfiguration av begäranden. |
Egenskaper.svar | Sant | Kapslad JSON | Beskriver svarsobjektet och det kapslade meddelandet som returneras från API:et när data avsöks. Mer information finns i svarskonfiguration. |
Egenskaper.Personsökning | Kapslad JSON | Beskriver sidnumreringsnyttolasten när data avsöks. Mer information finns i växlingskonfiguration. | |
Egenskaper.dcrConfig | Kapslad JSON | Obligatoriska parametrar när data skickas till en datainsamlingsregel (DCR). Mer information finns i DCR-konfiguration. |
Autentiseringskonfiguration
Den centrala motparten stöder följande autentiseringstyper:
Kommentar
CCP OAuth2-implementeringen stöder inte autentiseringsuppgifter för klientcertifikat.
Vi rekommenderar att du använder parametrar i autentiseringsavsnittet i stället för hårdkodade autentiseringsuppgifter. Mer information finns i Skydda konfidentiella indata.
För att skapa distributionsmallen som även använder parametrar måste du undvika parametrarna i det här avsnittet med en extra start [
. På så sätt kan parametrarna tilldela ett värde baserat på användarinteraktionen med anslutningsappen. Mer information finns i Escape-tecken för malluttryck.
För att autentiseringsuppgifterna ska kunna anges från användargränssnittet connectorUIConfig
kräver instructions
avsnittet med önskade parametrar. Mer information finns i Referens för definitioner för dataanslutningsappar för codeless connector-plattformen.
Grundläggande autentisering
Fält | Obligatoriskt | Typ |
---|---|---|
UserName | Sant | sträng |
Lösenord | Sant | sträng |
Exempel på grundläggande autentisering med parametrar som definierats i connectorUIconfig
:
"auth": {
"type": "Basic",
"UserName": "[[parameters('username')]",
"Password": "[[parameters('password')]"
}
APIKey
Fält | Obligatoriskt | Type | Beskrivning | Standardvärde |
---|---|---|---|---|
ApiKey | Sant | sträng | användarhemlighetsnyckel | |
ApiKeyName | sträng | namnet på URI-huvudet som innehåller ApiKey-värdet | Authorization |
|
ApiKeyIdentifier | sträng | strängvärde för att förbereda token | token |
|
IsApiKeyInPostPayload | boolean | skicka hemlighet i POST-brödtext i stället för rubrik | false |
APIKey-autentiseringsexempel:
"auth": {
"type": "APIKey",
"ApiKey": "[[parameters('apikey')]",
"ApiKeyName": "X-MyApp-Auth-Header",
"ApiKeyIdentifier": "Bearer"
}
Det här exemplet resulterar i hemligheten som definieras från användarindata som skickas i följande rubrik: X-MyApp-Auth-Header: Bearer apikey
"auth": {
"type": "APIKey",
"ApiKey": "123123123",
}
I det här exemplet används standardvärdena och resultatet i följande rubrik: Auktorisering: token 123123123
"auth": {
"type": "APIKey",
"ApiKey": "123123123",
"ApiKeyName": ""
}
ApiKeyName
Eftersom är explicit inställt på ""
är resultatet följande rubrik: Auktorisering: 123123123
OAuth2
Codeless Connector Platform stöder beviljande av OAuth 2.0-auktoriseringskod och klientautentiseringsuppgifter. Beviljandetypen auktoriseringskod används av konfidentiella och offentliga klienter för att byta ut en auktoriseringskod mot en åtkomsttoken. När användaren återvänder till klienten via omdirigerings-URL:en hämtar programmet auktoriseringskoden från URL:en och använder den för att begära en åtkomsttoken.
Fält | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
ClientId | Sant | String | Klient-ID:t |
ClientSecret | Sant | String | Klienthemligheten |
AuthorizationCode | Sant när grantType = authorization_code |
String | Om beviljandetypen är authorization_code det här fältvärdet returneras auktoriseringskoden från autentiseringsserven. |
Definitionsområde | Sant för authorization_code beviljandetypvalfritt för client_credentials beviljandetyp |
String | En blankstegsavgränsad lista över omfång för användarmedgivande. Mer information finns i OAuth2-omfång och behörigheter. |
RedirectUri | Sant när grantType = authorization_code |
String | URL för omdirigering måste vara https://portal.azure.com/TokenAuthorize/ExtensionName/Microsoft_Azure_Security_Insights |
GrantType | Sant | String | authorization_code eller client_credentials |
TokenEndpoint | Sant | String | URL för att utbyta kod med giltig token i authorization_code beviljande- eller klient-ID och hemlighet med giltig token i client_credentials beviljandet. |
TokenEndpointHeaders | Objekt | Ett valfritt nyckelvärdesobjekt för att skicka anpassade huvuden till tokenservern | |
TokenEndpointQueryParameters | Objekt | Ett valfritt nyckelvärdesobjekt för att skicka anpassade frågeparamer till tokenservern | |
AuthorizationEndpoint | Sant | String | URL för användarmedgivande för authorization_code flöde |
AuthorizationEndpointHeaders | Objekt | Ett valfritt nyckelvärdesobjekt för att skicka anpassade huvuden till autentiseringsservern | |
AuthorizationEndpointQueryParameters | Objekt | Ett valfritt nyckelvärdepar som används i begäran om OAuth2-auktoriseringskodflöde |
Autentiseringskodflödet är till för att hämta data för en användares behörigheter och klientens autentiseringsuppgifter är till för att hämta data med programbehörigheter. Dataservern ger åtkomst till programmet. Eftersom det inte finns någon användare i flödet för klientautentiseringsuppgifter behövs ingen auktoriseringsslutpunkt, bara en tokenslutpunkt.
Exempel: OAuth2-beviljandetyp authorization_code
"auth": {
"type": "OAuth2",
"ClientId": "[[parameters('appId')]",
"ClientSecret": "[[parameters('appSecret')]",
"tokenEndpoint": "https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/token",
"authorizationEndpoint": "https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/authorize",
"authorizationEndpointHeaders": {},
"authorizationEndpointQueryParameters": {
"prompt": "consent"
},
"redirectUri": "https://portal.azure.com/TokenAuthorize/ExtensionName/Microsoft_Azure_Security_Insights",
"tokenEndpointHeaders": {
"Accept": "application/json",
"Content-Type": "application/x-www-form-urlencoded"
},
"TokenEndpointQueryParameters": {},
"scope": "openid offline_access some_scope",
"grantType": "authorization_code"
}
Exempel: OAuth2-beviljandetyp client_credentials
"auth": {
"type": "OAuth2",
"ClientId": "[[parameters('appId')]",
"ClientSecret": "[[parameters('appSecret')]",
"tokenEndpoint": "https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/token",
"tokenEndpointHeaders": {
"Accept": "application/json",
"Content-Type": "application/x-www-form-urlencoded"
},
"TokenEndpointQueryParameters": {},
"scope": "openid offline_access some_scope",
"grantType": "client_credentials"
}
Jwt
Exempel: JSON-webbtoken (JWT)
"auth": {
"type": "JwtToken",
"userName": {
"key":"username",
"value":"[[parameters('UserName')]"
},
"password": {
"key":"password",
"value":"[[parameters('Password')]"
},
"TokenEndpoint": {"https://token_endpoint.contoso.com"},
"IsJsonRequest": true
}
Konfiguration av begäranden
Avsnittet för begäran definierar hur CCP-dataanslutningsappen skickar begäranden till din datakälla, till exempel API-slutpunkten och hur ofta slutpunkten ska avsökas.
Fält | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
ApiEndpoint | Sant | String | URL för fjärrserver. Definierar slutpunkten som data ska hämtas från. |
RateLimitQPS | Integer | Definierar antalet anrop eller frågor som tillåts på en sekund. | |
FrågaWindowInMin | Integer | Definierar det tillgängliga frågefönstret på några minuter. Minst 1 minut. Standardvärdet är 5 minuter. | |
HttpMethod | String | Definierar API-metoden: GET (standard) eller POST |
|
QueryTimeFormat | String | Definierar det datum- och tidsformat som slutpunkten (fjärrservern) förväntar sig. Den centrala motparten använder aktuellt datum och tid varhelst den här variabeln används. Möjliga värden är konstanterna: UnixTimestamp , UnixTimestampInMills eller någon annan giltig representation av datumtiden, till exempel: yyyy-MM-dd , MM/dd/yyyy HH:mm:ss standardvärdet är ISO 8601 UTC |
|
RetryCount | Heltal (1...6) | Definierar 1 för 6 återförsök som tillåts att återställas från ett fel. Standard är 3 . |
|
TimeoutInSeconds | Heltal (1...180) | Definierar tidsgränsen för begäran i sekunder. Standardvärdet är 20 |
|
IsPostPayloadJson | Booleskt | Avgör om POST-nyttolasten är i JSON-format. Standardvärdet är false |
|
Rubriker | Objekt | Nyckelvärdepar som definierar begärandehuvudena. | |
QueryParameters | Objekt | Nyckelvärdepar som definierar frågeparen för begäran. | |
StartTimeAttributeName | Sant när EndTimeAttributeName har angetts |
String | Definierar frågeparameterns namn för frågestarttid. Se exempel. |
EndTimeAttributeName | Sant när StartTimeAttributeName har angetts |
String | Definierar frågeparameternamnet för frågesluttiden. |
QueryTimeIntervalAttributeName | String | Om slutpunkten kräver ett specialiserat format för att köra frågor mot data inom en tidsram använder du den här egenskapen med parametrarna QueryTimeIntervalPrepend QueryTimeIntervalDelimiter och . Se exempel. |
|
QueryTimeIntervalPrepend | Sant när QueryTimeIntervalAttributeName har angetts |
String | Se QueryTimeIntervalAttributeName |
QueryTimeIntervalDelimiter | Sant när QueryTimeIntervalAttributeName har angetts |
String | Se QueryTimeIntervalAttributeName |
QueryParametersTemplate | String | Frågemall som ska användas när parametrar skickas i avancerade scenarier. br>Till exempel: "queryParametersTemplate": "{'cid': 1234567, 'cmd': 'reporting', 'format': 'siem', 'data': { 'from': '{_QueryWindowStartTime}', 'to': '{_QueryWindowEndTime}'}, '{_APIKeyName}': '{_APIKey}'}" |
När API:et kräver komplexa parametrar använder queryParameters
du eller queryParametersTemplate
som innehåller några inbyggda variabler.
inbyggd variabel | för användning i queryParameters |
för användning i queryParametersTemplate |
---|---|---|
_QueryWindowStartTime |
ja | ja |
_QueryWindowEndTime |
ja | ja |
_APIKeyName |
nej | ja |
_APIKey |
nej | ja |
StartTimeAttributeName-exempel
Ta det här exemplet:
StartTimeAttributeName
=from
EndTimeAttributeName
=until
ApiEndpoint
=https://www.example.com
Frågan som skickas till fjärrservern är: https://www.example.com?from={QueryTimeFormat}&until={QueryTimeFormat + QueryWindowInMin}
QueryTimeIntervalAttributeName-exempel
Ta det här exemplet:
QueryTimeIntervalAttributeName
=interval
QueryTimeIntervalPrepend
=time:
QueryTimeIntervalDelimiter
=..
ApiEndpoint
=https://www.example.com
Frågan som skickas till fjärrservern är: https://www.example.com?interval=time:{QueryTimeFormat}..{QueryTimeFormat + QueryWindowInMin}
Begära exempel med Hjälp av Microsoft Graph som API för datakälla
Det här exemplet frågar meddelanden med en filterfrågeparameter. Mer information finns i Frågeparametrar för Microsoft Graph API.
"request": {
"apiEndpoint": "https://graph.microsoft.com/v1.0/me/messages",
"httpMethod": "Get",
"queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ",
"queryWindowInMin": 10,
"retryCount": 3,
"rateLimitQPS": 20,
"headers": {
"Accept": "application/json",
"User-Agent": "Example-app-agent"
},
"QueryTimeIntervalAttributeName": "filter",
"QueryTimeIntervalPrepend": "receivedDateTime gt ",
"QueryTimeIntervalDelimiter": " and receivedDateTime lt "
}
I föregående exempel skickas en GET
begäran till https://graph.microsoft.com/v1.0/me/messages?filter=receivedDateTime gt {time of request} and receivedDateTime lt 2019-09-01T17:00:00.0000000
. Tidsstämpeln uppdateras för varje queryWindowInMin
gång.
Samma resultat uppnås med det här exemplet:
"request": {
"apiEndpoint": "https://graph.microsoft.com/v1.0/me/messages",
"httpMethod": "Get",
"queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ",
"queryWindowInMin": 10,
"retryCount": 3,
"rateLimitQPS": 20,
"headers": {
"Accept": "application/json",
},
"queryParameters": {
"filter": "receivedDateTime gt {_QueryWindowStartTime} and receivedDateTime lt {_QueryWindowEndTime}"
}
}
Ett annat alternativ är när datakällan förväntar sig 2 frågeparametrar, en för starttid och en för sluttid.
Exempel:
"request": {
"apiEndpoint": "https://graph.microsoft.com/v1.0/me/calendarView",
"httpMethod": "Get",
"queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ",
"queryWindowInMin": 10,
"retryCount": 3,
"rateLimitQPS": 20,
"headers": {
"Accept": "application/json",
},
"StartTimeAttributeName": "startDateTime",
"EndTimeAttributeName": "endDateTime",
}
Detta skickar en GET
begäran till https://graph.microsoft.com/me/calendarView?startDateTime=2019-09-01T09:00:00.0000000&endDateTime=2019-09-01T17:00:00.0000000
För komplexa frågor använder du QueryParametersTemplate
. I nästa exempel skickas en POST
begäran med parametrar i brödtexten.
Exempel:
request: {
"apiEndpoint": "https://graph.microsoft.com/v1.0/me/messages",
"httpMethod": "POST",
"queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ",
"queryWindowInMin": 10,
"retryCount": 3,
"rateLimitQPS": 20,
"headers": {
"Accept": "application/json",
},
"isPostPayloadJson": true,
"queryParametersTemplate": "{\"query":"TableName | where createdTimestamp between (datetime({_QueryWindowStartTime}) .. datetime({_QueryWindowEndTime}))\"}"
}
Svarskonfiguration
Definiera svarshanteringen för din dataanslutning med följande parametrar:
Fält | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
EventsJsonPaths | Sant | Lista över strängar | Definierar sökvägen till meddelandet i JSON-svaret. Ett JSON-sökvägsuttryck anger en sökväg till ett element eller en uppsättning element i en JSON-struktur |
SuccessStatusJsonPath | String | Definierar sökvägen till meddelandet om lyckat resultat i JSON-svaret. När den här parametern har definierats bör parametern SuccessStatusValue också definieras. |
|
SuccessStatusValue | String | Definierar sökvägen till värdet för lyckade meddelanden i svarets JSON | |
IsGzipCompressed | Booleskt | Avgör om svaret komprimeras i en gzip-fil | |
format | Sant | String | json eller csv xml |
CompressionAlgo | String | Komprimeringsalgoritmen, antingen multi-gzip eller deflate . För gzip-komprimeringsalgoritmen konfigurerar du IsGzipCompressed bara till i stället för att True ange ett värde för den här parametern. |
|
CsvDelimiter | String | Om svarsformatet är CSV och du vill ändra CSV-standardgränsaren för "," |
|
HasCsvBoundary | Booleskt | Ange om CSV-data har en gräns | |
HasCsvHeader | Booleskt | Ange om CSV-data har ett huvud, standardvärdet är True |
|
CsvEscape | String | Escape-tecknet för en fältgräns är standardvärdet " Till exempel kräver en CSV med rubriker id,name,avg och en rad data som innehåller blanksteg som 1,"my name",5.5 " fältgränsen. |
|
ConvertChildPropertiesToArray | Booleskt | Särskilt fall där fjärrservern returnerar ett objekt i stället för en lista över händelser där varje egenskap har data i sig. |
Kommentar
CSV-formattypen tolkas av RFC4180-specifikationen .
Exempel på svarskonfiguration
Ett serversvar med JSON-format förväntas med begärda data i egenskapsvärdet. Statusen för svarsegenskapen anger att data endast ska matas in om värdet är success
.
"response": {
"EventsJsonPaths ": ["$.value"],
"format": "json",
"SuccessStatusJsonPath": "$.status",
"SuccessStatusValue": "success",
"IsGzipCompressed: true
}
Det förväntade svaret i det här exemplet förbereder för en CSV utan huvud.
"response": {
"EventsJsonPaths ": ["$"],
"format": "csv",
"HasCsvHeader": false
}
Växlingskonfiguration
När datakällan inte kan skicka hela svarsnyttolasten samtidigt måste CCP-dataanslutningen veta hur du tar emot delar av data på svarssidor. De växlingstyper som du kan välja mellan är:
Växlingstyp | beslutsfaktor |
---|---|
Har API-svaret länkar till nästa och föregående sidor? | |
Har API-svaret en token eller markör för nästa och föregående sidor? | |
Stöder API-svaret en parameter för antalet objekt som ska hoppa över vid växling? |
Konfigurera LinkHeader eller PersistentLinkHeader
Den vanligaste växlingstypen är när ett API för serverdatakälla tillhandahåller URL:er till nästa och föregående datasidor. Mer information om Link Header-specifikationen finns i RFC 5988.
LinkHeader
växling innebär att API-svaret innehåller antingen:
- HTTP-svarsrubriken
Link
- eller en JSON-sökväg för att hämta länken från svarstexten.
PersistentLinkHeader
växling har samma egenskaper som LinkHeader
, förutom att länkrubriken finns kvar i serverdelslagringen. Det här alternativet aktiverar växlingslänkar mellan frågefönster. Vissa API:er stöder till exempel inte starttider eller sluttider för frågor. I stället stöder de en markör på serversidan. Beständiga sidtyper kan användas för att komma ihåg markören på serversidan. Mer information finns i Vad är en markör?.
Kommentar
Det kan bara finnas en fråga som körs för anslutningsappen med PersistentLinkHeader för att undvika konkurrensvillkor på markören på serversidan. Detta kan påverka svarstiden.
Fält | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
LinkHeaderTokenJsonPath | Falsk | String | Använd den här egenskapen för att ange var du vill hämta värdet i svarstexten. Om datakällan till exempel returnerar följande JSON: { nextPage: "foo", value: [{data}]} kommer den LinkHeaderTokenJsonPath att $.nextPage |
Sidstorlek | Falsk | Integer | Hur många händelser per sida |
PageSizeParameterName | Falsk | String | Frågeparameternamn för sidstorleken |
Nedan följer några exempel:
Paging: {
"pagingType": "LinkHeader",
"linkHeaderTokenJsonPath" : "$.metadata.links.next"
}
Paging: {
"pagingType" : "PersistentLinkHeader",
"pageSizeParameterName" : "limit",
"pageSize" : 500
}
Konfigurera NextPageUrl
NextPageUrl
växling innebär att API-svaret innehåller en komplex länk i svarstexten som liknar LinkHeader
, men URL:en ingår i svarstexten i stället för rubriken.
Fält | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
Sidstorlek | Falsk | Integer | Hur många händelser per sida |
PageSizeParameterName | Falsk | String | Frågeparameternamn för sidstorleken |
NextPageUrl | Falsk | String | Endast om anslutningsappen är för Coralogix API |
NextPageUrlQueryParameters | Falsk | Värdepar för objektnyckel – lägga till anpassad frågeparameter för varje begäran för nästa sida | |
NextPageParaName | Falsk | String | Avgör nästa sidnamn i begäran. |
HasNextFlagJsonPath | Falsk | String | Definierar sökvägen till flaggattributet HasNextPage |
NextPageRequestHeader | Falsk | String | Avgör namnet på nästa sidhuvud i begäran. |
NextPageUrlQueryParametersTemplate | Falsk | String | Endast om anslutningsappen är för Coralogix API |
Exempel:
Paging: {
"pagingType" : "NextPageUrl",
"nextPageTokenJsonPath" : "$.data.repository.pageInfo.endCursor",
"hasNextFlagJsonPath" : "$.data.repository.pageInfo.hasNextPage",
"nextPageUrl" : "https://api.github.com/graphql",
"nextPageUrlQueryParametersTemplate" : "{'query':'query{repository(owner:\"xyz\")}"
}
Konfigurera NextPageToken eller PersistentToken
NextPageToken
sidnumrering använder en token (en hash eller en markör) som representerar tillståndet för den aktuella sidan. Token ingår i API-svaret och klienten lägger till den i nästa begäran om att hämta nästa sida. Den här metoden används ofta när servern behöver upprätthålla det exakta tillståndet mellan begäranden.
PersistentToken
sidnumrering använder en token som bevarar serversidan. Servern kommer ihåg den senaste token som hämtades av klienten och tillhandahåller nästa token i efterföljande begäranden. Klienten fortsätter där den slutade även om den gör nya begäranden senare.
Fält | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
Sidstorlek | Falsk | Integer | Hur många händelser per sida |
PageSizeParameterName | Falsk | sträng | Frågeparameternamn för sidstorleken |
NextPageTokenJsonPath | Falsk | sträng | JSON-sökväg för nästa sidtoken i svarstexten. |
NextPageTokenResponseHeader | Falsk | sträng | Om NextPageTokenJsonPath är tom använder du token i det här rubriknamnet för nästa sida. |
NextPageParaName | Falsk | sträng | Avgör nästa sidnamn i begäran. |
HasNextFlagJsonPath | Falsk | sträng | Definierar sökvägen till ett HasNextPage-flaggattribut när du avgör om fler sidor finns kvar i svaret. |
NextPageRequestHeader | Falsk | sträng | Avgör namnet på nästa sidhuvud i begäran. |
Exempel:
Paging: {
"pagingType" : "NextPageToken",
"nextPageRequestHeader" : "ETag",
"nextPageTokenResponseHeader" : "ETag"
}
Paging: {
"pagingType" : "PersistentToken",
"nextPageParaName" : "gta",
"nextPageTokenJsonPath" : "$.alerts[-1:]._id"
}
Konfigurera förskjutning
Offset
sidnumrering anger antalet sidor som ska hoppa över och en gräns för hur många händelser som ska hämtas per sida i begäran. Klienter hämtar ett visst intervall med objekt från datauppsättningen.
Fält | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
Sidstorlek | Falsk | Integer | Hur många händelser per sida |
PageSizeParameterName | Falsk | String | Frågeparameternamn för sidstorleken |
OffsetParaName | Falsk | String | Nästa frågeparameternamn för begäran. CCP beräknar förskjutningsvärdet för varje begäran (alla händelser som matas in + 1) |
Exempel:
Paging: {
"pagingType": "Offset",
"offsetParaName": "offset"
}
DCR-konfiguration
Exempel på CCP-dataanslutning
Här är ett exempel på alla komponenter i CCP-dataanslutnings-JSON tillsammans.
{
"kind": "RestApiPoller",
"properties": {
"connectorDefinitionName": "ConnectorDefinitionExample",
"dcrConfig": {
"streamName": "Custom-ExampleConnectorInput",
"dataCollectionEndpoint": "https://example-dce-sbsr.location.ingest.monitor.azure.com",
"dataCollectionRuleImmutableId": "dcr-32_character_hexadecimal_id"
},
"dataType": "ExampleLogs",
"auth": {
"type": "Basic",
"password": "[[parameters('username')]",
"userName": "[[parameters('password')]"
},
"request": {
"apiEndpoint": "https://rest.contoso.com/example",
"rateLimitQPS": 10,
"queryWindowInMin": 5,
"httpMethod": "GET",
"queryTimeFormat": "UnixTimestamp",
"startTimeAttributeName": "t0",
"endTimeAttributeName": "t1",
"retryCount": 3,
"timeoutInSeconds": 60,
"headers": {
"Accept": "application/json",
"User-Agent": "Example-app-agent"
}
},
"paging": {
"pagingType": "LinkHeader"
},
"response": {
"eventsJsonPaths": ["$"]
}
}
}