Dela via


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.

Name beskrivning
dataConnectorId Dataanslutnings-ID:t måste vara ett unikt namn och är detsamma som parametern name i begärandetexten.
resourceGroupName Namnet på resursgruppen, inte skiftlägeskänsligt.
subscriptionId ID för målprenumerationen.
workspaceName Namnet på arbetsytan, inte ID:t.
Regex-mönster: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$
api-version Den API-version som ska användas för den här åtgärden.

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 beviljandetyp
valfritt 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 jsoneller csvxml
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

Fält Obligatoriskt Type Beskrivning
DataCollectionEndpoint Sant String DCE (datainsamlingsslutpunkt) till exempel: https://example.ingest.monitor.azure.com.
DataCollectionRuleImmutableId Sant String DCR oföränderligt ID. Hitta det genom att visa dcr-skapandesvaret eller använda DCR-API:et
StreamName Sant sträng Det här värdet är det streamDeclaration som definieras i DCR (prefixet måste börja med Custom-)

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": ["$"]
      }
   }
}