Referenční informace k datovému konektoru RestApiPoller pro platformu konektoru Bez kódu
Pokud chcete vytvořit RestApiPoller
datový konektor s platformou konektoru bez kódu (CCP), použijte tento odkaz jako doplněk k rozhraní REST API služby Microsoft Sentinel pro dokumentaci k datovým konektorům .
Každá dataConnector
představuje konkrétní připojení datového konektoru Microsoft Sentinelu. Jeden datový konektor může mít více připojení, která načítají data z různých koncových bodů. Konfigurace JSON vytvořená pomocí tohoto referenčního dokumentu slouží k dokončení šablony nasazení datového konektoru ÚSTŘEDNÍ PROTISTRANY.
Další informace najdete v tématu Vytvoření bezkódového konektoru pro Microsoft Sentinel.
Datové konektory – Vytvoření nebo aktualizace
Pokud chcete najít nejnovější stabilní verzi rozhraní API nebo verzi Preview, projděte si operaci vytvoření nebo aktualizace v dokumentaci k rozhraní REST API. Rozdíl mezi vytvořením a operací aktualizace je, že aktualizace vyžaduje hodnotu značky etag.
Metoda PUT
https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectors/{{dataConnectorId}}?api-version={{apiVersion}}
Parametry identifikátoru URI
Další informace o nejnovější verzi rozhraní API najdete v tématu Datové konektory – Vytvoření nebo aktualizace parametrů identifikátoru URI.
Název | Popis |
---|---|
dataConnectorId | ID datového konektoru musí být jedinečný název a je stejný jako name parametr v textu požadavku. |
resourceGroupName | Název skupiny prostředků, nerozlišuje se malá a velká písmena. |
subscriptionId | ID cílového předplatného. |
workspaceName | Název pracovního prostoru, nikoli ID. Vzor regulárních výrazů: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$ |
api-version | Verze rozhraní API, která se má použít pro tuto operaci. |
Text požadavku
Subjekt žádosti datového konektoru ústřední protistrany RestApiPoller
má následující strukturu:
{
"name": "{{dataConnectorId}}",
"kind": "RestApiPoller",
"etag": "",
"properties": {
"connectorDefinitionName": "",
"auth": {},
"request": {},
"response": {},
"paging": "",
"dcrConfig": ""
}
}
RestApiPoller
RestApiPoller představuje datový konektor API Poller CCP, kde přizpůsobíte stránkování, autorizaci a datové části požadavků a odpovědí pro váš zdroj dat.
Název | Požadováno | Type | Popis |
---|---|---|---|
Jméno | True | string | Jedinečný název připojení odpovídající parametru URI |
laskavý | True | string | Musí být RestApiPoller |
etag | Identifikátor GUID | Vytváření nových konektorů nechte prázdné. V případě operací aktualizace musí etag odpovídat značkě etag (GUID) existujícího konektoru. | |
properties.connectorDefinitionName | string | Název prostředku DataConnectorDefinition, který definuje konfiguraci uživatelského rozhraní datového konektoru. Další informace najdete v tématu Definice datového konektoru. | |
vlastnosti.Auth | True | Vnořený JSON | Popisuje vlastnosti ověřování pro dotazování dat. Další informace najdete v tématu Konfigurace ověřování. |
vlastnosti.prosba | True | Vnořený JSON | Popisuje datovou část požadavku pro dotazování dat, jako je koncový bod rozhraní API. Další informace najdete v tématu Konfigurace požadavku. |
vlastnosti.odpověď | True | Vnořený JSON | Popisuje objekt odpovědi a vnořenou zprávu vrácenou z rozhraní API při dotazování dat. Další informace najdete v tématu Konfigurace odpovědi. |
vlastnosti.stránkování | Vnořený JSON | Popisuje datovou část stránkování při dotazování dat. Další informace najdete v tématu Konfigurace stránkování. | |
vlastnosti.dcrConfig | Vnořený JSON | Požadované parametry při odeslání dat do pravidla shromažďování dat (DCR). Další informace najdete v tématu Konfigurace DCR. |
Konfigurace ověřování
Ústřední protistrana podporuje následující typy ověřování:
Poznámka:
Implementace ÚSTŘEDNÍ PROTISTRANY OAuth2 nepodporuje přihlašovací údaje klientského certifikátu.
Osvědčeným postupem je použít parametry v části ověřování místo pevně zakódovaných přihlašovacích údajů. Další informace najdete v tématu Zabezpečení důvěrného vstupu.
Chcete-li vytvořit šablonu nasazení, která také používá parametry, musíte utéct parametry v této části s dodatečným spuštěním [
. To umožňuje parametrům přiřadit hodnotu na základě interakce uživatele s konektorem. Další informace naleznete v tématu Výrazy šablony řídicí znaky.
Pokud chcete povolit zadání přihlašovacích údajů z uživatelského rozhraní, connectorUIConfig
oddíl vyžaduje instructions
požadované parametry. Další informace najdete v tématu Referenční informace o definicích datových konektorů pro platformu konektoru bez kódu.
Základní ověřování
Pole | Požaduje se | Typ |
---|---|---|
UserName | True | string |
Heslo | True | string |
Příklad základního ověřování pomocí parametrů definovaných v connectorUIconfig
:
"auth": {
"type": "Basic",
"UserName": "[[parameters('username')]",
"Password": "[[parameters('password')]"
}
Klíč rozhraní API
Pole | Požaduje se | Type | Popis | Default value |
---|---|---|---|---|
Klíč rozhraní API | True | string | tajný klíč uživatele | |
ApiKeyName | string | název hlavičky identifikátoru URI obsahující hodnotu ApiKey | Authorization |
|
ApiKeyIdentifier | string | řetězcová hodnota pro předpendí tokenu | token |
|
IsApiKeyInPostPayload | boolean | Odeslání tajného kódu v textu POST místo hlavičky | false |
Příklady ověřování APIKey:
"auth": {
"type": "APIKey",
"ApiKey": "[[parameters('apikey')]",
"ApiKeyName": "X-MyApp-Auth-Header",
"ApiKeyIdentifier": "Bearer"
}
Výsledkem tohoto příkladu je tajný klíč definovaný ze vstupu uživatele odeslaného v následující hlavičce: X-MyApp-Auth-Header: Bearer apikey
"auth": {
"type": "APIKey",
"ApiKey": "123123123",
}
Tento příklad používá výchozí hodnoty a výsledkem je následující hlavička: Autorizace: token 123123123
"auth": {
"type": "APIKey",
"ApiKey": "123123123",
"ApiKeyName": ""
}
Vzhledem k tomu, že ApiKeyName
je explicitně nastavená ""
, je výsledkem následující hlavička: Autorizace: 123123123
OAuth2
Platforma konektoru Codeless podporuje udělení autorizačního kódu OAuth 2.0 a přihlašovací údaje klienta. Typ udělení autorizačního kódu používají důvěrní a veřejná klienti k výměně autorizačního kódu pro přístupový token. Jakmile se uživatel vrátí klientovi přes adresu URL přesměrování, aplikace získá autorizační kód z adresy URL a použije ho k vyžádání přístupového tokenu.
Pole | Požaduje se | Type | Popis |
---|---|---|---|
ClientId | True | String | ID klienta |
ClientSecret | True | String | Tajný klíč klienta |
AuthorizationCode | True when grantType = authorization_code |
String | Pokud je authorization_code typem grantu tato hodnota pole, bude autorizační kód vrácený z ověřovací služby. |
Scope | True pro authorization_code typ grantuvolitelné pro client_credentials typ grantu |
String | Seznam oborů oddělených mezerami pro souhlas uživatele. Další informace najdete v tématu Rozsahy a oprávnění OAuth2. |
Identifikátor REDIRECTURI | True when grantType = authorization_code |
String | Adresa URL pro přesměrování musí být https://portal.azure.com/TokenAuthorize/ExtensionName/Microsoft_Azure_Security_Insights |
GrantType | True | String | authorization_code nebo client_credentials |
TokenEndpoint | True | String | Adresa URL pro výměnu kódu s platným tokenem v authorization_code grantu nebo ID klienta a tajném kódu s platným tokenem v client_credentials udělení. |
TokenEndpointHeaders | Objekt | Volitelný objekt hodnoty klíče pro odesílání vlastních hlaviček na server tokenů | |
TokenEndpointQueryParameters | Objekt | Volitelný objekt hodnoty klíče pro odesílání parametrů vlastního dotazu na server tokenů | |
AuthorizationEndpoint | True | String | Adresa URL souhlasu uživatele pro authorization_code tok |
AuthorizationEndpointHeaders | Objekt | Volitelný objekt hodnoty klíče pro odesílání vlastních hlaviček na server ověřování | |
AuthorizationEndpointQueryParameters | Objekt | Volitelný pár hodnot klíče použitý v požadavku na tok autorizačního kódu OAuth2 |
Tok ověřovacího kódu slouží k načítání dat jménem oprávnění uživatele a přihlašovacích údajů klienta pro načítání dat s oprávněními aplikace. Datový server uděluje přístup k aplikaci. Vzhledem k tomu, že v toku přihlašovacích údajů klienta není žádný uživatel, není potřeba žádný koncový bod autorizace, pouze koncový bod tokenu.
Příklad: Typ udělení OAuth2 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"
}
Příklad: Typ udělení OAuth2 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
Příklad: Webový token JSON (JWT)
"auth": {
"type": "JwtToken",
"userName": {
"key":"username",
"value":"[[parameters('UserName')]"
},
"password": {
"key":"password",
"value":"[[parameters('Password')]"
},
"TokenEndpoint": {"https://token_endpoint.contoso.com"},
"IsJsonRequest": true
}
Konfigurace požadavku
Oddíl požadavku definuje, jak datový konektor ÚSTŘEDNÍ PROTISTRANy odesílá požadavky do vašeho zdroje dat, jako je koncový bod rozhraní API a jak často se má tento koncový bod dotazovat.
Pole | Požaduje se | Type | Popis |
---|---|---|---|
ApiEndpoint | True | String | Adresa URL pro vzdálený server. Definuje koncový bod, ze které se mají načíst data. |
RateLimitQPS | Celé číslo | Definuje počet volání nebo dotazů povolených za sekundu. | |
QueryWindowInMin | Celé číslo | Definuje dostupné okno dotazu v minutách. Minimum je 1 minuta. Výchozí hodnota je 5 minut. | |
HttpMethod | String | Definuje metodu rozhraní API: GET (výchozí) nebo POST |
|
QueryTimeFormat | String | Definuje formát data a času, který koncový bod (vzdálený server) očekává. Ústřední protistrana používá aktuální datum a čas všude, kde se tato proměnná používá. Možné hodnoty jsou konstanty: UnixTimestamp nebo UnixTimestampInMills jakékoli jiné platné vyjádření data a času, například: yyyy-MM-dd , MM/dd/yyyy HH:mm:ss výchozí hodnota je ISO 8601 UTC |
|
RetryCount | Celé číslo (1...6) | 1 Definuje opakované 6 pokusy, které se můžou zotavit z selhání. Výchozí hodnota je 3 . |
|
TimeoutInSeconds | Celé číslo (1...180) | Definuje časový limit požadavku v sekundách. Výchozí hodnota je 20 |
|
IsPostPayloadJson | Logická hodnota | Určuje, jestli je datová část POST ve formátu JSON. Výchozí hodnota je false |
|
Záhlaví | Objekt | Páry klíčových hodnot, které definují hlavičky požadavku. | |
QueryParameters | Objekt | Páry klíčových hodnot, které definují parametry dotazu požadavku. | |
StartTimeAttributeName | True when EndTimeAttributeName is set |
String | Definuje název parametru dotazu pro čas zahájení dotazu. Viz příklad. |
EndTimeAttributeName | True when StartTimeAttributeName is set |
String | Definuje název parametru dotazu pro koncový čas dotazu. |
QueryTimeIntervalAttributeName | String | Pokud koncový bod vyžaduje specializovaný formát pro dotazování dat v časovém rámci, použijte tuto vlastnost s QueryTimeIntervalPrepend parametry a parametry QueryTimeIntervalDelimiter . Viz příklad. |
|
QueryTimeIntervalPrepend | True when QueryTimeIntervalAttributeName is set |
String | Viz QueryTimeIntervalAttributeName . |
QueryTimeIntervalDelimiter | True when QueryTimeIntervalAttributeName is set |
String | Viz QueryTimeIntervalAttributeName . |
QueryParametersTemplate | String | Šablona dotazu, která se má použít při předávání parametrů v pokročilých scénářích >příklad: "queryParametersTemplate": "{'cid': 1234567, 'cmd': 'reporting', 'format': 'siem', 'data': { 'from': '{_QueryWindowStartTime}', 'to': '{_QueryWindowEndTime}'}, '{_APIKeyName}': '{_APIKey}'}" |
Pokud rozhraní API vyžaduje složité parametry, použijte queryParameters
předdefinované proměnné nebo queryParametersTemplate
které obsahují některé předdefinované proměnné.
integrovaná proměnná | pro použití v queryParameters |
pro použití v queryParametersTemplate |
---|---|---|
_QueryWindowStartTime |
ano | ano |
_QueryWindowEndTime |
ano | ano |
_APIKeyName |
ne | ano |
_APIKey |
ne | ano |
Příklad StartTimeAttributeName
Podívejte se na tento příklad:
StartTimeAttributeName
=from
EndTimeAttributeName
=until
ApiEndpoint
=https://www.example.com
Dotaz odeslaný na vzdálený server je: https://www.example.com?from={QueryTimeFormat}&until={QueryTimeFormat + QueryWindowInMin}
Příklad QueryTimeIntervalAttributeName
Podívejte se na tento příklad:
QueryTimeIntervalAttributeName
=interval
QueryTimeIntervalPrepend
=time:
QueryTimeIntervalDelimiter
=..
ApiEndpoint
=https://www.example.com
Dotaz odeslaný na vzdálený server je: https://www.example.com?interval=time:{QueryTimeFormat}..{QueryTimeFormat + QueryWindowInMin}
Příklady požadavků s využitím rozhraní MICROSOFT Graph jako rozhraní API zdroje dat
Tento příklad dotazuje zprávy s parametrem dotazu filtru. Další informace najdete v tématu Parametry dotazu rozhraní 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 "
}
Předchozí příklad odešle GET
požadavek na https://graph.microsoft.com/v1.0/me/messages?filter=receivedDateTime gt {time of request} and receivedDateTime lt 2019-09-01T17:00:00.0000000
. Časové razítko se aktualizuje pokaždé queryWindowInMin
.
Stejných výsledků dosáhnete v tomto příkladu:
"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}"
}
}
Další možností je, když zdroj dat očekává 2 parametry dotazu, jeden pro počáteční čas a jeden pro koncový čas.
Příklad:
"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",
}
Tím se GET
odešle žádost na adresu https://graph.microsoft.com/me/calendarView?startDateTime=2019-09-01T09:00:00.0000000&endDateTime=2019-09-01T17:00:00.0000000
Pro složité dotazy použijte QueryParametersTemplate
. Tento další příklad odešle POST
požadavek s parametry v textu.
Příklad:
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}))\"}"
}
Konfigurace odpovědi
Definujte zpracování odpovědí datového konektoru s následujícími parametry:
Pole | Požaduje se | Type | Popis |
---|---|---|---|
EventsJsonPaths | True | Seznam řetězců | Definuje cestu ke zprávě ve formátu JSON odpovědi. Výraz cesty JSON určuje cestu k elementu nebo sadě elementů ve struktuře JSON. |
SuccessStatusJsonPath | String | Definuje cestu ke zprávě o úspěchu ve formátu JSON odpovědi. Při definování tohoto parametru SuccessStatusValue by měl být také definován parametr. |
|
SuccessStatusValue | String | Definuje cestu k hodnotě úspěšné zprávy ve formátu JSON odpovědi. | |
IsGzipCompressed | Logická hodnota | Určuje, zda je odpověď komprimována v souboru gzip. | |
format | True | String | json nebo csv xml |
CompressionAlgo | String | Algoritmus komprese, buď multi-gzip nebo deflate . Pro algoritmus komprese gzip stačí nakonfigurovat IsGzipCompressed True místo nastavení hodnoty pro tento parametr. |
|
CsvDelimiter | String | Pokud je formát odpovědi CSV a chcete změnit výchozí oddělovač sdíleného svazku clusteru "," |
|
HasCsvBoundary | Logická hodnota | Označuje, jestli data CSV mají hranici. | |
HasCsvHeader | Logická hodnota | Označuje, jestli data CSV obsahují záhlaví, výchozí hodnota je True |
|
CsvEscape | String | Řídicí znak pro hranici pole, výchozí hodnota je " Například sdílený svazek clusteru se záhlavími a řádkem dat obsahujícími mezery id,name,avg , například 1,"my name",5.5 vyžaduje " hranici pole. |
|
ConvertChildPropertiesToArray | Logická hodnota | Speciální případ, kdy vzdálený server vrátí objekt místo seznamu událostí, ve kterých každá vlastnost obsahuje data. |
Poznámka:
Typ formátu CSV se analyzuje podle specifikace RFC4180 .
Příklady konfigurace odpovědí
Očekává se odpověď serveru s formátem JSON s požadovanými daty v hodnotě vlastnosti. Stav vlastnosti odpovědi označuje příjem dat pouze v případě, že je success
hodnota .
"response": {
"EventsJsonPaths ": ["$.value"],
"format": "json",
"SuccessStatusJsonPath": "$.status",
"SuccessStatusValue": "success",
"IsGzipCompressed: true
}
Očekávaná odpověď v tomto příkladu se připraví na sdílený svazek clusteru bez hlavičky.
"response": {
"EventsJsonPaths ": ["$"],
"format": "csv",
"HasCsvHeader": false
}
Konfigurace stránkování
Pokud zdroj dat nemůže odeslat celou datovou část odpovědi najednou, musí datový konektor ústřední protistrany vědět, jak přijímat části dat na stránkách odpovědí. Typy stránkování, ze které si můžete vybrat, jsou:
Typ stránkování | rozhodovací faktor |
---|---|
Obsahuje odpověď rozhraní API odkazy na další a předchozí stránky? | |
Má odpověď rozhraní API token nebo kurzor na další a předchozí stránky? | |
Podporuje odpověď rozhraní API parametr pro počet objektů, které se mají při stránkování přeskočit? |
Konfigurace LinkHeaderu nebo PersistentLinkHeaderu
Nejběžnějším stránkovacím typem je, že rozhraní API zdroje dat serveru poskytuje adresy URL na další a předchozí stránky dat. Další informace o specifikaci hlavičky odkazu naleznete v dokumentu RFC 5988.
LinkHeader
stránkování znamená, že odpověď rozhraní API zahrnuje:
- hlavička
Link
odpovědi HTTP - nebo cestu JSON, která načte odkaz z textu odpovědi.
PersistentLinkHeader
stránkování má stejné vlastnosti jako LinkHeader
v back-endovém úložišti s výjimkou záhlaví odkazu. Tato možnost umožňuje stránkování odkazů napříč okny dotazů. Některá rozhraní API například nepodporují časy spuštění dotazu nebo koncové časy. Místo toho podporují kurzor na straně serveru. Trvalé typy stránek lze použít k zapamatu kurzoru na straně serveru. Další informace naleznete v tématu Co je kurzor?.
Poznámka:
Pro konektor s PersistentLinkHeaderem může běžet jenom jeden dotaz, aby se zabránilo konfliktům časování na straně serveru. To může mít vliv na latenci.
Pole | Požaduje se | Type | Popis |
---|---|---|---|
LinkHeaderTokenJsonPath | False | String | Pomocí této vlastnosti můžete určit, kde získat hodnotu v textu odpovědi. Pokud například zdroj dat vrátí následující kód JSON: { nextPage: "foo", value: [{data}]} LinkHeaderTokenJsonPath $.nextPage |
Pagesize | False | Celé číslo | Kolik událostí na stránku |
PageSizeParameterName | False | String | Název parametru dotazu pro velikost stránky |
Několik příkladů:
Paging: {
"pagingType": "LinkHeader",
"linkHeaderTokenJsonPath" : "$.metadata.links.next"
}
Paging: {
"pagingType" : "PersistentLinkHeader",
"pageSizeParameterName" : "limit",
"pageSize" : 500
}
Konfigurace nextPageUrl
NextPageUrl
stránkování znamená, že odpověď rozhraní API obsahuje složitý odkaz v textu odpovědi podobnému LinkHeader
, ale adresa URL je součástí textu odpovědi místo hlavičky.
Pole | Požaduje se | Type | Popis |
---|---|---|---|
Pagesize | False | Celé číslo | Kolik událostí na stránku |
PageSizeParameterName | False | String | Název parametru dotazu pro velikost stránky |
NextPageUrl | False | String | Pouze pokud je konektor pro rozhraní Coralogix API |
NextPageUrlQueryParameters | False | Páry hodnot klíče objektu – přidání vlastního parametru dotazu do každého požadavku na další stránku | |
NextPageParaName | False | String | Určuje název další stránky v požadavku. |
HasNextFlagJsonPath | False | String | Definuje cestu k atributu příznaku HasNextPage. |
NextPageRequestHeader | False | String | Určuje název záhlaví další stránky v požadavku. |
NextPageUrlQueryParametersTemplate | False | String | Pouze pokud je konektor pro rozhraní Coralogix API |
Příklad:
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\")}"
}
Konfigurace NextPageTokenu nebo PersistentTokenu
NextPageToken
stránkování používá token (hash nebo kurzor), který představuje stav aktuální stránky. Token je součástí odpovědi rozhraní API a klient ho připojí k dalšímu požadavku, který načte další stránku. Tato metoda se často používá, když server potřebuje udržovat přesný stav mezi požadavky.
PersistentToken
stránkování používá token, který zachovává serverovou stranu. Server si pamatuje poslední token načtený klientem a v následných požadavcích poskytne další token. Klient pokračuje tam, kde skončil, i když později provede nové žádosti.
Pole | Požaduje se | Type | Popis |
---|---|---|---|
Pagesize | False | Celé číslo | Kolik událostí na stránku |
PageSizeParameterName | False | string | Název parametru dotazu pro velikost stránky |
NextPageTokenJsonPath | False | string | Cesta JSON pro další token stránky v textu odpovědi |
NextPageTokenResponseHeader | False | string | Pokud NextPageTokenJsonPath je prázdný, použijte token v tomto názvu záhlaví pro další stránku. |
NextPageParaName | False | string | Určuje název další stránky v požadavku. |
HasNextFlagJsonPath | False | string | Definuje cestu k atributu příznaku HasNextPage při určování, zda jsou v odpovědi ponechány více stránek. |
NextPageRequestHeader | False | string | Určuje název záhlaví další stránky v požadavku. |
Příklady:
Paging: {
"pagingType" : "NextPageToken",
"nextPageRequestHeader" : "ETag",
"nextPageTokenResponseHeader" : "ETag"
}
Paging: {
"pagingType" : "PersistentToken",
"nextPageParaName" : "gta",
"nextPageTokenJsonPath" : "$.alerts[-1:]._id"
}
Konfigurace posunu
Offset
stránkování určuje počet stránek, které se mají přeskočit, a omezení počtu událostí, které se mají načíst na stránku v požadavku. Klienti načítají z datové sady konkrétní rozsah položek.
Pole | Požaduje se | Type | Popis |
---|---|---|---|
Pagesize | False | Celé číslo | Kolik událostí na stránku |
PageSizeParameterName | False | String | Název parametru dotazu pro velikost stránky |
OffsetParaName | False | String | Název dalšího parametru dotazu požadavku. Ústřední protistrana vypočítá hodnotu posunu pro každou žádost (všechny ingestované události + 1) |
Příklad:
Paging: {
"pagingType": "Offset",
"offsetParaName": "offset"
}
Konfigurace DCR
Pole | Požaduje se | Type | Popis |
---|---|---|---|
DataCollectionEndpoint | True | String | DCE (koncový bod shromažďování dat), například: https://example.ingest.monitor.azure.com . |
DataCollectionRuleImmutableId | True | String | Neměnné ID DCR. Najděte ji zobrazením odpovědi na vytvoření DCR nebo pomocí rozhraní API DCR. |
Název streamu | True | string | Tato hodnota je definovaná streamDeclaration v DCR (předpona musí začínat na custom-). |
Příklad datového konektoru PRO ÚSTŘEDNÍ PROTISTRANU
Tady je příklad všech součástí JSON datového konektoru ÚSTŘEDNÍ PROTISTRANy.
{
"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": ["$"]
}
}
}