Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Voit luoda RestApiPoller tietoliittimen Codeless Connector Frameworkin (CCF) avulla käyttämällä tätä artikkelia tietoyhdistimien Microsoft Sentinel REST -ohjelmointirajapinnan täydennysasiakirjana.
Jokainen tietoyhdistin edustaa tiettyä Microsoft Sentinel -tietoliittimen yhteyttä. Yhdellä tietoyhdistimellä voi olla useita yhteyksiä, jotka noutavat tietoja eri päätepisteistä. Voit viimeistellä CCF-tietoliittimen käyttöönottomallin käyttämällä JSON-määritystä, jonka luot tämän artikkelin avulla.
Lisätietoja on artikkelissa Koodittoman liittimen luominen Microsoft Sentinel varten.
Tietoyhdistimien luominen tai päivittäminen
Etsi uusin vakaa tai esikatselun ohjelmointirajapinnan versio viittaamalla create rest-ohjelmointirajapintadokumentteihin tai update -toimintoihin. - ja update -createtoimintojen välinen ero on se, joka update edellyttää etag -arvoa.
PUT Menetelmä:
https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectors/{{dataConnectorId}}?api-version={{apiVersion}}
URI-parametrit
Lisätietoja uusimmasta ohjelmointirajapintaversiosta on kohdassa Tietoliittimet: URI-parametrien luominen tai päivittäminen.
| Nimi | Kuvaus |
|---|---|
dataConnectorId |
Tietoyhdistimen tunnus. Sen on oltava yksilöllinen nimi, joka on sama kuin pyynnön leipätekstinname parametri. |
resourceGroupName |
Resurssiryhmän nimi, jossa kirjainkoko ei ole merkitsevä. |
subscriptionId |
Kohdetilauksen tunnus. |
workspaceName |
Työtilan nimi , ei tunnus. Regex-malli on ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$. |
api-version |
Tässä toiminnossa käytettävä ohjelmointirajapinnan versio. |
Pyynnön leipäteksti
CCF-tietoliittimen pyynnön leipätekstillä RestApiPoller on seuraava rakenne:
{
"name": "{{dataConnectorId}}",
"kind": "RestApiPoller",
"etag": "",
"properties": {
"connectorDefinitionName": "",
"auth": {},
"request": {},
"response": {},
"paging": "",
"dcrConfig": ""
}
}
RestApiPoller
RestApiPoller on ohjelmointirajapinnan kyselyn CCF-tietoyhdistin, jonka avulla voit mukauttaa sivutusta, valtuutusta ja pyyntöjen/vastausten hyötymääriä tietolähteelle.
| Nimi | Pakollinen | Kirjoita | Kuvaus |
|---|---|---|---|
name |
Tosi | Merkkijono | URI-parametria vastaavan yhteyden yksilöivä nimi. |
kind |
Tosi | Merkkijono | Arvo kind . Tämän kentän arvoksi RestApiPolleron asetettava . |
etag |
GUID | Arvo etag . Tämä kenttä on jätettävä tyhjäksi, jotta uusi liitin voidaan luoda. Päivitystoimintojen etag on vastattava aiemmin luotua liitintä etag (GUID). |
|
properties.connectorDefinitionName |
Merkkijono | Sen resurssin DataConnectorDefinition nimi, joka määrittää tietoliittimen käyttöliittymämäärityksen. Lisätietoja on kohdassa Tietoyhdistimen määritys. |
|
properties.auth |
Tosi | Sisäkkäinen JSON | Tietojen kyselyn todennusominaisuudet. Lisätietoja on kohdassa Todennusmääritys. |
properties.request |
Tosi | Sisäkkäinen JSON | Pyyntöjen tiedot, kuten ohjelmointirajapinnan päätepiste, kyselyä varten. Lisätietoja on kohdassa Pyynnön määritys. |
properties. response |
Tosi | Sisäkkäinen JSON | Vastausobjekti ja sisäkkäinen viesti, jonka ohjelmointirajapinta palauttaa, kun se tekee kyselyjä tiedoista. Lisätietoja on kohdassa Vastauksen määritys. |
properties.paging |
Sisäkkäinen JSON | Sivutuksen hyötykuorma, kun tietoja kysellään. Lisätietoja on kohdassa Sivutusasetukset. | |
properties.dcrConfig |
Sisäkkäinen JSON | Pakolliset parametrit, kun tiedot lähetetään tiedonkeräyssääntöön (DCR). Lisätietoja on kohdassa DCR-määritys. |
Todennusmääritys
CCF tukee seuraavia todennustyyppejä:
Huomautus
CCF OAuth2 -toteutus ei tue asiakasvarmenteen tunnistetietoja.
Paras käytäntö on käyttää parametreja todennusosiossa tunnistetietojen kiinteän koodauksen sijaan. Lisätietoja on kohdassa Luottamuksellisen syötteen suojaaminen.
Jos haluat luoda käyttöönottomallin, joka käyttää myös parametreja, sinun on vältettävä tämän osion parametreja ylimääräisellä aloitusohjelmalla [. Tämän vaiheen avulla parametrit voivat määrittää arvon sen perusteella, miten käyttäjä on vuorovaikutuksessa liittimen kanssa. Lisätietoja on artikkelissa Mallilausekkeiden ohjausmerkit.
Jotta tunnistetiedot voidaan antaa käyttöliittymästä, -osio edellyttää, connectorUIConfig että annat halutut parametrit kohteessa instructions. Lisätietoja on ohjeaiheessa Koodittoman liittimen sovelluskehyksen tietoyhdistimen määritysviittaus.
Perustodennusta
| Kenttä | Pakollinen | Kirjoita |
|---|---|---|
UserName |
Tosi | Merkkijono |
Password |
Tosi | Merkkijono |
Tässä on esimerkki perustodennuksesta, joka käyttää kohteessa connectorUIconfigmääritettyjä parametreja:
"auth": {
"type": "Basic",
"UserName": "[[parameters('username')]",
"Password": "[[parameters('password')]"
}
Ohjelmointirajapinnan avain
| Kenttä | Pakollinen | Kirjoita | Kuvaus | Oletusarvo |
|---|---|---|---|---|
ApiKey |
Tosi | Merkkijono | Käyttäjän salasana-avain. | |
ApiKeyName |
Merkkijono | Arvon sisältävän ApiKey URI-otsikon nimi. |
Authorization |
|
ApiKeyIdentifier |
Merkkijono | Tunnuksen valmisteleminen merkkijonoarvolla. | token |
|
IsApiKeyInPostPayload |
Totuusarvo | Arvo, joka määrittää, lähetetäänkö salaisuus leipätekstiin POST otsikon sijaan. |
false |
APIKey todennusesimerkkejä:
"auth": {
"type": "APIKey",
"ApiKey": "[[parameters('apikey')]",
"ApiKeyName": "X-MyApp-Auth-Header",
"ApiKeyIdentifier": "Bearer"
}
Tämän esimerkin tulos on salasana, joka on määritetty seuraavassa otsikossa lähetetystä käyttäjän syötteestä: X-MyApp-Auth-Header: Bearer apikey.
"auth": {
"type": "APIKey",
"ApiKey": "123123123",
}
Tässä esimerkissä käytetään oletusarvoja ja tuloksena on seuraava otsikko: Authorization: . token 123123123
"auth": {
"type": "APIKey",
"ApiKey": "123123123",
"ApiKeyName": ""
}
Koska ApiKeyName -arvoksi ""on eksplisiittisesti määritetty , tulos on seuraava otsikko: Authorization: . 123123123
OAuth2
Codeless Connector Framework tukee OAuth 2.0 -valtuutuskoodin myöntämistä ja asiakkaan tunnistetietoja. Luottamukselliset ja julkiset asiakkaat käyttävät valtuutuskoodin myöntämistyyppiä käyttöoikeuskoodin vaihtamiseen käyttöoikeustietuetta varten.
Kun käyttäjä palaa asiakkaaseen uudelleenohjauksen URL-osoitteen kautta, sovellus saa valtuutuskoodin URL-osoitteesta ja pyytää sen avulla käyttöoikeustietuetta.
| Kenttä | Pakollinen | Kirjoita | Kuvaus |
|---|---|---|---|
ClientId |
Totta. | Merkkijono | Asiakastunnus. |
ClientSecret |
Totta. | Merkkijono | Asiakkaan salaisuus. |
AuthorizationCode |
Tosi, grantType kun arvo on authorization_code. |
Merkkijono | Jos myöntämistyyppi on authorization_code, tämä kentän arvo on todennuspalvelimen palauttama valtuutuskoodi. |
Scope |
Tosi avustustyypille authorization_code .Valinnainen avustustyypille client_credentials . |
Merkkijono | Välilyönnillä erotettu luettelo käyttöalueista käyttäjän suostumusta varten. Lisätietoja on kohdassa OAuth2-vaikutusalueet ja -käyttöoikeudet. |
RedirectUri |
Tosi, grantType kun arvo on authorization_code. |
Merkkijono | Uudelleenohjauksen URL-osoitteen on oltava https://portal.azure.com/TokenAuthorize/ExtensionName/Microsoft_Azure_Security_Insights. |
GrantType |
Totta. | Merkkijono | Avustustyyppi. Voi olla authorization_code tai client_credentials. |
TokenEndpoint |
Totta. | Merkkijono | Url-osoite koodin vaihtamiseen, jossa on kelvollinen tunnus myöntämisessä authorization_code , tai asiakastunnus ja salaisuus, jossa on kelvollinen tunnus myöntämisessä client_credentials . |
TokenEndpointHeaders |
Objekti | Valinnainen avain-arvo-objekti mukautettujen otsikoiden lähettämiseksi tunnuspalvelimeen. | |
TokenEndpointQueryParameters |
Objekti | Valinnainen avain-arvo-objekti mukautettujen kyselyparametrien lähettämiseksi tunnuspalvelimeen. | |
AuthorizationEndpoint |
Totta. | Merkkijono | Käyttäjän työnkulun suostumuksen authorization_code URL-osoite. |
AuthorizationEndpointHeaders |
Objekti | Valinnainen avain-arvo-objekti mukautettujen otsikoiden lähettämiseen todennuspalvelimeen. | |
AuthorizationEndpointQueryParameters |
Objekti | Valinnainen avain-arvopari, jota käytetään OAuth2-valtuutuskoodin työnkulkupyynnössä. |
Todennuskoodin työnkulun avulla voit noutaa tietoja käyttäjän käyttöoikeuksien puolesta. Asiakastunnistetietojen avulla voit noutaa tietoja sovelluksen käyttöoikeuksilla. Tietopalvelin myöntää sovelluksen käyttöoikeuden. Koska asiakkaan tunnistetietojen työnkulussa ei ole käyttäjää, valtuutuksen päätepistettä ei tarvita, vain tunnuksen päätepiste.
Tässä on esimerkki OAuth2-avustustyypistä 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"
}
Tässä on esimerkki OAuth2-avustustyypistä 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
JSON Web Token (JWT) -todennus tukee tunnusten hankkimista käyttäjänimen ja salasanan tunnistetiedoilla sekä niiden käyttöä ohjelmointirajapintapyynnöissä.
Perusesimerkki
"auth": {
"type": "JwtToken",
"userName": {
"key": "username",
"value": "[[parameters('UserName')]"
},
"password": {
"key": "password",
"value": "[[parameters('Password')]"
},
"TokenEndpoint": "https://token_endpoint.contoso.com",
"IsJsonRequest": true,
"JwtTokenJsonPath": "$.access_token"
}
Tunnistetiedot POST-leipätekstissä (oletus)
"auth": {
"type": "JwtToken",
"userName": {
"key": "username",
"value": "[[parameters('UserName')]"
},
"password": {
"key": "password",
"value": "[[parameters('Password')]"
},
"TokenEndpoint": "https://api.example.com/token",
"Headers": {
"Accept": "application/json",
"Content-Type": "application/json"
},
"IsCredentialsInHeaders": false,
"IsJsonRequest": true,
"JwtTokenJsonPath": "$.access_token"
}
Tunnistetiedot otsikoissa (perustodennus)
"auth": {
"type": "JwtToken",
"userName": {
"key": "client_id",
"value": "[[parameters('ClientId')]"
},
"password": {
"key": "client_secret",
"value": "[[parameters('ClientSecret')]"
},
"TokenEndpoint": "https://api.example.com/oauth/token",
"Headers": {
"Accept": "application/json"
},
"IsCredentialsInHeaders": true,
"IsJsonRequest": true,
"JwtTokenJsonPath": "$.access_token",
"RequestTimeoutInSeconds": 30
}
Tunnistetiedot otsikoissa (käyttäjätunnus)
"auth": {
"type": "JwtToken",
"UserToken": "[[parameters('userToken')]",
"UserTokenPrepend": "Bearer",
"TokenEndpoint": "https://api.example.com/oauth/token",
"Headers": {
"Accept": "application/json"
},
"TokenEndpointHttpMethod": "GET",
"NoAccessTokenPrepend": true,
"JwtTokenJsonPath": "$.systemToken"
}
Noudata tätä todennustyönkulkua:
Lähetä tunnistetiedot saadaksesi
TokenEndpointJWT-tunnuksen käytettäessäuserNamejapassword,IsCredentialsInHeaderskäytetään määrittämään, mihin tunnistetiedot lisätään pyynnössä.- If
IsCredentialsInHeaders: true: Lähettää perustodennuksen otsikon , jossa onusername:password. - If
IsCredentialsInHeaders: false: Lähettää tunnistetiedot leipätekstissäPOST.
- If
Poimi tunnus käyttämällä
JwtTokenJsonPathvastauksen otsikkoa tai vastauksesta.JWT-tunnusten valtuutusotsikko on vakio, ja se on aina Valtuutus.
| Kenttä | Pakollinen | Kirjoita | Kuvaus |
|---|---|---|---|
type |
Tosi | Merkkijono | Tyyppi. Oltava JwtToken |
userName |
Tosi (jos userToken ei käytetä) |
Objekti | Tunnistetietojen avain/arvo-pari userName . Jos userName ja password lähetetään otsikkopyynnössä, määritä value ominaisuus käyttäjänimellä. Jos userName ja password lähetetään leipätekstipyynnössä, määritä Key ja Value. |
password |
Tosi (jos userToken ei käytetä) |
Objekti | Salasanan tunnistetietojen avain/arvo-pari. Jos userName ja password lähetetään otsikkopyynnössä, määritä -ominaisuuden value arvolla userName. Jos userName ja password lähetetään leipätekstipyynnössä, määritä Key ja Value. |
userToken |
Tosi (jos userName ei käytetä) |
Merkkijono | Käyttäjätunnus, jonka asiakas loi saadakseen järjestelmän tunnuksen todentamista varten. |
UserTokenPrepend |
Epätosi | Merkkijono | Arvo, joka ilmaisee, lisätäänkö teksti ennen tunnusta. Oletus: Bearer. |
NoAccessTokenPrepend |
Epätosi | Totuusarvo | Käyttöoikeusmerkintä, joka ilmaisee, että tunnuksen ei pitäisi edeltää mitään. |
TokenEndpointHttpMethod |
Epätosi | Merkkijono | Tunnuksen päätepisteen HTTP-menetelmä. Se voi olla Get tai Post. Oletusarvo on Post. |
TokenEndpoint |
Tosi | Merkkijono | URL-päätepiste, jota käytetään JWT-tunnuksen hankkimiseen. |
IsCredentialsInHeaders |
Totuusarvo | Arvo, joka ilmaisee, lähetetäänkö tunnistetiedot perustodennuksen otsikkona (true) vai POST leipätekstinä (false), ohitetaan käytettäessä userToken- Oletusarvo on false. |
|
IsJsonRequest |
Totuusarvo | Arvo, joka ilmaisee, lähetetäänkö pyyntö JSON-muodossa (otsikko Content-Type = application/json) vai lomakekoodattuna (otsikko Content-Type = application/x-www-form-urlencoded). Oletusarvo on false. |
|
JwtTokenJsonPath |
Merkkijono | Arvo, joka ilmaisee JSONPath arvon, jota käytetään tunnuksen poimimiseen vastauksesta. Esimerkki: $.access_token. |
|
JwtTokenInResponseHeader |
Totuusarvo | Arvo, joka ilmaisee, poimitaanko tunnus vastauksen otsikosta vai leipätekstistä. Oletusarvo on false. |
|
JwtTokenHeaderName. |
Merkkijono | Arvo, joka ilmaisee otsikon nimen, kun tunnus on vastauksen otsikossa. Oletusarvo on Authorization. |
|
JwtTokenIdentifier |
Merkkijono | Tunniste, jota käytetään JWT:n poimimiseen etuliitetystä tunnusmerkkijonosta. | |
QueryParameters |
Objekti | Mukautetut kyselyparametrit, jotka sisällytetään lähetettäessä pyyntöä tunnuksen päätepisteeseen. | |
Headers |
Objekti | Mukautetut otsikot, jotka sisällytetään, kun pyyntö lähetetään tunnuksen päätepisteeseen. | |
RequestTimeoutInSeconds |
Kokonaisluku | Pyynnön aikakatkaisu sekunteina. Oletusarvo on , ja sen enimmäisarvo 180on 100. |
Huomautus
Rajoitukset
- Edellyttää käyttäjänimeä ja salasanan todennusta tunnuksen hankintaa varten
- Ei tue ohjelmointirajapinnan avainpohjaisia tunnuspyyntöjä
- Ei tue mukautettua ylätunnistetodennusta (ilman käyttäjänimeä ja salasanaa)
Pyynnön määritys
Pyyntö-osiossa määritetään, miten CCF-tietoyhdistin lähettää pyyntöjä tietolähteeseen (esimerkiksi ohjelmointirajapinnan päätepisteeseen ja kuinka usein päätepisteeseen lähetetään kysely).
| Kenttä | Pakollinen | Kirjoita | Kuvaus |
|---|---|---|---|
ApiEndpoint |
Totta. | Merkkijono | Tämä kenttä määrittää etäpalvelimen URL-osoitteen ja päätepisteen, josta tiedot haetaan. |
RateLimitQPS |
Kokonaisluku | Tämä kenttä määrittää alkuperäisen pyynnön sallittujen kutsujen tai kyselyiden määrän sekunnissa. Se ei koske sivutettuja pyyntöjä. Voit rajoittaa sivutusta määrittämällä PaginatedCallsPerSecond. |
|
PaginatedCallsPerSecond |
Kaksinkertainen (0...1000) | Tämä kenttä määrittää sivutetuille restful-ohjelmointirajapinnalle sallittujen kutsujen määrän sekunnissa. Se aiheuttaa kunkin sivutetun ohjelmointirajapintakutsun (1000 / paginatedCallsPerSecond) välisen millisekunnin viiveen. Tämä rajoitus koskee vain sivutuspyyntöjä, ja se on erillinen kohteesta RateLimitQPS, joka hallitsee alkuperäistä pyyntöprosenttia. Yleensä tämä arvo määritetään samaksi kuin RateLimitQPS tietolähteen korkorajoituksen noudattamiseksi kaikissa pyynnöissä.
0 arvo tarkoittaa, että sivutuksen rajoittamista ei käytetä. |
|
RateLimitConfig |
Objekti | Tämä kenttä määrittää RESTful-ohjelmointirajapinnan korvausrajoitusmäärityksen. Lisätietoja on esimerkissäRateLimitConfig. |
|
QueryWindowInMin |
Kokonaisluku | Tämä kenttä määrittää käytettävissä olevan kyselyikkunan muutamassa minuutissa. Pienin arvo on 1 minuutti. Oletusarvo on 5 minuuttia. | |
HttpMethod |
Merkkijono | Tämä kenttä määrittää ohjelmointirajapinnan menetelmän: GET(oletus) tai POST. |
|
QueryTimeFormat |
Merkkijono | Tämä kenttä määrittää päätepisteen (etäpalvelimen) odottavan päivämäärän ja kellonajan muodon. CCF käyttää nykyistä päivämäärää ja aikaa aina, kun tätä muuttujaa käytetään. Mahdollisia arvoja ovat vakiot: UnixTimestamp, UnixTimestampInMills, tai mikä tahansa muu kelvollinen päivämäärän ja ajan esitysmuoto. Esimerkki: yyyy-MM-dd, MM/dd/yyyy HH:mm:ss.Oletusarvo on ISO 8601 UTC. |
|
RetryCount |
Kokonaisluku (1...6) | Tämä kenttä määrittää, että uudelleenyrityksiä käyttävien 16 arvojen voi palauttaa virheestä. Oletusarvo on 3. |
|
TimeoutInSeconds |
Kokonaisluku (1...180) | Tämä kenttä määrittää pyynnön aikakatkaisun sekunteina. Oletusarvo on 20. |
|
IsPostPayloadJson |
Totuusarvo | Tämä kenttä määrittää, POST onko hyötykuorma JSON-muodossa. Oletusarvo on false. |
|
Headers |
Objekti | Tämä kenttä sisältää avain-arvo-pareja, jotka määrittävät pyynnön otsikot. | |
QueryParameters |
Objekti | Tämä kenttä sisältää avain-arvo-pareja, jotka määrittävät pyynnön kyselyparametrit. | |
StartTimeAttributeName |
Tosi, EndTimeAttributeName kun arvo on määritetty. |
Merkkijono | Tämä kenttä määrittää kyselyn parametrin nimen kyselyn alkamisajalle. Lisätietoja on esimerkissäStartTimeAttributeName. |
EndTimeAttributeName |
Tosi, kun StartTimeAttributeName asetus on määritetty. |
Merkkijono | Tämä kenttä määrittää kyselyn parametrin nimen kyselyn päättymisajalle. |
QueryTimeIntervalAttributeName |
Merkkijono | Tätä kenttää käytetään, jos päätepiste edellyttää erityistä muotoa tietojen kyselyille tietyllä aikavälillä. Käytä tätä ominaisuutta - ja QueryTimeIntervalDelimiter -QueryTimeIntervalPrependparametrien kanssa. Lisätietoja on esimerkissäQueryTimeIntervalAttributeName. |
|
QueryTimeIntervalPrepend |
Tosi, kun QueryTimeIntervalAttributeName asetus on määritetty. |
Merkkijono | Viittaus QueryTimeIntervalAttributeName. |
QueryTimeIntervalDelimiter |
Tosi, kun QueryTimeIntervalAttributeName asetus on määritetty. |
Merkkijono | Viittaus QueryTimeIntervalAttributeName. |
QueryParametersTemplate |
Merkkijono | Tämä kenttä viittaa kyselymalliin, jota käytetään välitettäessä parametreja kehittyneissä skenaarioissa. Esimerkki: "queryParametersTemplate": "{'cid': 1234567, 'cmd': 'reporting', 'format': 'siem', 'data': { 'from': '{_QueryWindowStartTime}', 'to': '{_QueryWindowEndTime}'}, '{_APIKeyName}': '{_APIKey}'}". |
|
InitialCheckpointTimeUtc |
DateTime (UTC) | Määrittää kyselyn alkamisajan ensimmäiselle kyselylle, kun tallennettua tarkistuspistettä ei ole. Kun tarkistuspiste on pysyvä ensimmäisen onnistuneen kyselyn jälkeen, tämä arvo ohitetaan. Tämä asetus tulee voimaan vain, kun liittimen pyyntömääritys määrittää aloitusajan kyselyparametrin (kuten startTimeAttributeName tai {_QueryWindowStartTime} korvaavan tunnuksen) ilman vastaavaa lopetusajan parametria. Sillä ei ole vaikutusta liittimiin, jotka käyttävät yksinomaan sivutusasettajia tai -tunnuksia. Muoto: ISO 8601 UTC datetime (esimerkiksi 2024-01-15T00:00:00Z). |
Kun ohjelmointirajapinta vaatii monimutkaisia parametreja, käytä queryParameters tai queryParametersTemplate. Nämä komennot sisältävät joitakin sisäisiä muuttujia.
| Sisäinen muuttuja | Käytettäväksi kohteessa queryParameters |
Käytettäväksi kohteessa queryParametersTemplate |
|---|---|---|
_QueryWindowStartTime |
Kyllä | Kyllä |
_QueryWindowEndTime |
Kyllä | Kyllä |
_APIKeyName |
Ei | Kyllä |
_APIKey |
Ei | Kyllä |
Esimerkki StartTimeAttributeName
Katso tätä esimerkkiä:
StartTimeAttributeName=fromEndTimeAttributeName=untilApiEndpoint=https://www.example.com
Etäpalvelimeen lähetetty kysely on: https://www.example.com?from={QueryTimeFormat}&until={QueryTimeFormat + QueryWindowInMin}.
Esimerkki QueryTimeIntervalAttributeName
Katso tätä esimerkkiä:
QueryTimeIntervalAttributeName=intervalQueryTimeIntervalPrepend=time:QueryTimeIntervalDelimiter=..ApiEndpoint=https://www.example.com
Etäpalvelimeen lähetetty kysely on: https://www.example.com?interval=time:{QueryTimeFormat}..{QueryTimeFormat + QueryWindowInMin}.
Esimerkki RateLimitConfig-määrityksestä
Katso tätä esimerkkiä:
ApiEndpoint
=
https://www.example.com.
"rateLimitConfig": {
"evaluation": {
"checkMode": "OnlyWhen429"
},
"extraction": {
"source": "CustomHeaders",
"headers": {
"limit": {
"name": "X-RateLimit-Limit",
"format": "Integer"
},
"remaining": {
"name": "X-RateLimit-Remaining",
"format": "Integer"
},
"reset": {
"name": "X-RateLimit-RetryAfter",
"format": "UnixTimeSeconds"
}
}
},
"retryStrategy": {
"useResetOrRetryAfterHeaders": true
}
}
Kun vastaus sisältää nopeusrajoitusotsikoita, liitin voi näiden tietojen avulla säätää pyyntönopeuttaan.
Pyydä esimerkkejä, joissa käytetään Microsoft Graphia tietolähteen ohjelmointirajapintana
Tässä esimerkissä lähetetään kyselyt suodatinkyselyparametrilla. Lisätietoja on artikkelissa Microsoft Graph -ohjelmointirajapinnan kyselyparametrit.
"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 "
}
Edellinen esimerkki lähettää GET pyynnön käyttäjälle https://graph.microsoft.com/v1.0/me/messages?filter=receivedDateTime gt {time of request} and receivedDateTime lt 2019-09-01T17:00:00.0000000. Aikaleima päivittyy joka queryWindowInMin kerta.
Saat samat tulokset tällä esimerkillä:
"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}"
}
}
On olemassa toinen vaihtoehto tilanteissa, joissa tietolähde odottaa kahta kyselyparametria (yksi aloitusajalle ja toinen päättymisajalle).
Esimerkki:
"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ä asetus lähettää GET pyynnön kohteeseen https://graph.microsoft.com/me/calendarView?startDateTime=2019-09-01T09:00:00.0000000&endDateTime=2019-09-01T17:00:00.0000000.
Jos kyseessä on monimutkainen kysely, käytä .-parametria QueryParametersTemplate. Tässä esimerkissä lähetetään pyyntö, jonka POST leipätekstissä on parametreja:
"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}))\"}"
}
Vastauksen määritys
Määritä, miten tietoyhdistin käsittelee vastauksia seuraavien parametrien avulla:
| Kenttä | Pakollinen | Kirjoita | Kuvaus |
|---|---|---|---|
EventsJsonPaths |
Tosi | Merkkijonoluettelo | Määrittää viestin polun vastauksessa JSON. JSON-polkulauseke määrittää polun JSON-rakenteen elementtiin tai elementtijoukkoon. |
SuccessStatusJsonPath |
Merkkijono | Määrittää onnistumisviestin polun vastauksessa JSON. Kun tämä parametri on määritetty, SuccessStatusValue myös parametri tulee määrittää. |
|
SuccessStatusValue |
Merkkijono | Määrittää polun onnistumisviestin arvoon vastauksessa JSON. | |
IsGzipCompressed |
Totuusarvo | Määrittää, pakataanko vastaus GZIP-tiedostoon. | |
format |
Tosi | Merkkijono | Määrittää, onko muoto json, csv, vai xml. |
CompressionAlgo |
Merkkijono | Määrittää pakkausalgoritmin, joko multi-gzip tai deflate. Jos kyseessä on GZIP-pakkausalgoritmi, määritä IsGzipCompressed arvo True tämän parametrin arvon asemesta. |
|
CsvDelimiter |
Merkkijono | Viittaa , jos vastausmuoto on CSV ja haluat muuttaa csv-oletuserotinta ",". |
|
HasCsvBoundary |
Totuusarvo | Ilmaisee, onko CSV-tiedoilla reuna. | |
HasCsvHeader |
Totuusarvo | Ilmaisee, onko CSV-tiedoissa otsikko. Oletusarvo on True. |
|
CsvEscape |
Merkkijono | Määrittää kentän reunan ohjausmerkin. Oletusarvo on "Esimerkiksi CSV, jossa on otsikoita id,name,avg ja tietorivi, joka sisältää esimerkiksi välilyöntejä 1,"my name",5.5 , edellyttää kentän reunaa " . |
|
ConvertChildPropertiesToArray |
Totuusarvo | Viittaa erityistapaukseen, jossa etäpalvelin palauttaa objektin tapahtumaluettelon sijaan, jossa kukin ominaisuus sisältää tietoja. |
Huomautus
CSV-muototyyppi jäsennetaan määrityksellä RFC4180 .
Vastauksen määritysesimerkkejä
Odotettiin palvelimen vastausta JSON-muodossa. Vastauksessa on pyydettyjä tietoja ominaisuuden arvossa. Vastauksen ominaisuuden tila ilmaisee tietojen käsittelyn vain, jos arvo on success.
"response": {
"EventsJsonPaths ": ["$.value"],
"format": "json",
"SuccessStatusJsonPath": "$.status",
"SuccessStatusValue": "success",
"IsGzipCompressed": true
}
Tämän esimerkin odotettu vastaus valmistautuu CSV-tiedostoon, jolla ei ole otsikkoa.
"response": {
"EventsJsonPaths ": ["$"],
"format": "csv",
"HasCsvHeader": false
}
Sivutusmääritys
Kun tietolähde ei voi lähettää koko vastauksen hyötykuormaa kerralla, CCF-tietoliittimen on tiedettävä, miten se voi vastaanottaa osia tiedoista vastaussivuilla. Valittavat sivutustyypit ovat seuraavat:
| Sivutustyyppi | Päätöstekijä |
|---|---|
| Onko ohjelmointirajapinnan vastauksessa linkkejä seuraaville ja edellisille sivuille? | |
| Onko ohjelmointirajapinnan vastauksessa tunnus tai kohdistin seuraaville ja edellisille sivuille? | |
| Tukeeko ohjelmointirajapinnan vastaus ohitettavien objektien määrän parametria sivutettaessa? | |
| Tukeeko ohjelmointirajapinnan vastaus palautettavien objektien määrän parametria? |
Määritä LinkHeader tai PersistentLinkHeader
Yleisin sivutustyyppi on, kun palvelimen tietolähteen ohjelmointirajapinta tarjoaa URL-osoitteet seuraaville ja aiemmille tietosivuille. Lisätietoja Link header - määrityksestä on kohdassa RFC 5988.
LinkHeader sivutus tarkoittaa, että ohjelmointirajapinnan vastaus sisältää jommankumman seuraavista:
- HTTP-vastauksen
Linkotsikko. - JSON-polku linkin noutamiseksi vastauksen leipätekstistä.
PersistentLinkHeader-type-sivutus sisältää samat ominaisuudet kuin LinkHeader, mutta linkin otsikko säilyy taustasäilössä. Tämä asetus ottaa käyttöön linkkien sivuttamisen kyselyikkunoissa.
Esimerkiksi jotkin ohjelmointirajapinnat eivät tue kyselyn alkamis- tai päättymisaikoja. Sen sijaan ne tukevat palvelinpuolen kohdistinta. Pysyvien sivutyyppien avulla voit muistaa palvelinpuolen kohdistimen. Lisätietoja on kohdassa Mikä on kohdistin?.
Huomautus
Vain yksi liittimen kysely voidaan suorittaa PersistentLinkHeader kanssa, jotta vältetään kilpailuolosuhteet palvelinpuolen kohdistimella. Tämä ongelma saattaa vaikuttaa viivettä.
| Kenttä | Pakollinen | Kirjoita | Kuvaus |
|---|---|---|---|
LinkHeaderTokenJsonPath |
Epätosi | Merkkijono | Tämän ominaisuuden avulla voit määrittää, mistä vastauksen leipätekstin arvo noutaa. Jos tietolähde esimerkiksi palauttaa seuraavan JSON:n: { nextPage: "foo", value: [{data}]}, LinkHeaderTokenJsonPath arvo on $.nextPage. |
PageSize |
Epätosi | Kokonaisluku | Tämän ominaisuuden avulla voit määrittää sivukohtaisten tapahtumien määrän. |
PageSizeParameterName |
Epätosi | Merkkijono | Määritä sivun koko tämän kyselyparametrin nimen avulla. |
PagingInfoPlacement |
Epätosi | Merkkijono | Tämän ominaisuuden avulla voit määrittää, miten sivutustiedot täytetään. Hyväksyy jommankumman QueryString tai RequestBody. |
PagingQueryParamOnly |
Epätosi | Totuusarvo | Tämän ominaisuuden avulla voit määrittää kyselyparametreja. Jos asetuksena on tosi, se jättää pois kaikki muut kyselyparametrit paitsi kyselyn sivutusparametrit. |
Seuraavassa on joitakin esimerkkejä:
"paging": {
"pagingType": "LinkHeader",
"linkHeaderTokenJsonPath" : "$.metadata.links.next"
}
"paging": {
"pagingType" : "PersistentLinkHeader",
"pageSizeParameterName" : "limit",
"pageSize" : 500
}
Määritä NextPageUrl
NextPageUrl-tyypin sivutus tarkoittaa, että ohjelmointirajapinnan vastaus sisältää vastauksen leipätekstissä monimutkaisen linkin, joka on samanlainen kuin LinkHeader, mutta URL-osoite sisältyy vastauksen leipätekstiin otsikon sijaan.
| Kenttä | Pakollinen | Kirjoita | Kuvaus |
|---|---|---|---|
PageSize |
Epätosi | Kokonaisluku | Sivukohtaisten tapahtumien määrä. |
PageSizeParameterName |
Epätosi | Merkkijono | Sivun koon kyselyparametrin nimi. |
NextPageUrl |
Epätosi | Merkkijono | Kenttä, jota käytetään vain, jos yhdistin on Coralogix-ohjelmointirajapintaa varten. |
NextPageUrlQueryParameters |
Epätosi | Objekti | Avain-arvo-parit, jotka lisäävät mukautetun kyselyparametrin kuhunkin seuraavan sivun pyyntöön. |
NextPageParaName |
Epätosi | Merkkijono | Pyynnön seuraavan sivun nimi. |
HasNextFlagJsonPath |
Epätosi | Merkkijono | Merkintämääritteen HasNextPage polku. |
NextPageRequestHeader |
Epätosi | Merkkijono | Pyynnön seuraavan sivun otsikon nimi. |
NextPageUrlQueryParametersTemplate |
Epätosi | Merkkijono | Kenttä, jota käytetään vain, jos yhdistin on Coralogix-ohjelmointirajapintaa varten. |
PagingInfoPlacement |
Epätosi | Merkkijono | Kenttä, joka määrittää, miten sivutustiedot täytetään. Hyväksyy jommankumman QueryString tai RequestBody. |
PagingQueryParamOnly |
Epätosi | Totuusarvo | Kenttä, joka määrittää kyselyparametrit. Jos asetuksena on tosi, se jättää pois kaikki muut kyselyparametrit paitsi kyselyn sivutusparametrit. |
Esimerkki:
"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\")}"
}
Määritä NextPageToken tai PersistentToken
NextPageToken-type-sivutus käyttää tunnusta (hajautusarvoa tai kohdistinta), joka edustaa nykyisen sivun tilaa. Tunnus sisältyy ohjelmointirajapinnan vastaukseen, ja asiakas liittää sen seuraavaan pyyntöön seuraavan sivun noutamiseksi. Tätä menetelmää käytetään usein, kun palvelimen on ylläpidettävä pyyntöjen välistä tarkkaa tilaa.
PersistentToken sivutus käyttää tunnusta, joka säilyy palvelinpuolella. Palvelin muistaa asiakkaan viimeisen noudon tunnuksen ja antaa seuraavan tunnuksen myöhemmissä pyynnöissä. Asiakas jatkaa sitä, mihin jäi, vaikka se tekee uusia pyyntöjä myöhemmin.
| Kenttä | Pakollinen | Kirjoita | Kuvaus |
|---|---|---|---|
PageSize |
Epätosi | Kokonaisluku | Sivukohtaisten tapahtumien määrä. |
PageSizeParameterName |
Epätosi | Merkkijono | Sivun koon kyselyparametrin nimi. |
NextPageTokenJsonPath |
Epätosi | Merkkijono | Vastauksen leipätekstin seuraavan sivutunnuksen JSON-polku. |
NextPageTokenResponseHeader |
Epätosi | Merkkijono | Kenttä, joka määrittää, että jos NextPageTokenJsonPath se on tyhjä, käytä seuraavan sivun tämän ylätunnisteen tunnusta. |
NextPageParaName |
Epätosi | Merkkijono | Kenttä, joka määrittää pyynnön seuraavan sivun nimen. |
HasNextFlagJsonPath |
Epätosi | Merkkijono | Kenttä, joka määrittää lippumääritteen polun HasNextPage , kun määritetään, jätetäänkö vastaukseen lisää sivuja. |
NextPageRequestHeader |
Epätosi | Merkkijono | Kenttä, joka määrittää pyynnön seuraavan sivun otsikon nimen. |
PagingInfoPlacement |
Epätosi | Merkkijono | Kenttä, joka määrittää, miten sivutustiedot täytetään. Hyväksyy jommankumman QueryString tai RequestBody. |
PagingQueryParamOnly |
Epätosi | Totuusarvo | Kenttä, joka määrittää kyselyparametrit. Jos asetuksena on tosi, se jättää pois kaikki muut kyselyparametrit paitsi kyselyn sivutusparametrit. |
Esimerkkejä:
"paging": {
"pagingType" : "NextPageToken",
"nextPageRequestHeader" : "ETag",
"nextPageTokenResponseHeader" : "ETag"
}
"paging": {
"pagingType" : "PersistentToken",
"nextPageParaName" : "gta",
"nextPageTokenJsonPath" : "$.alerts[-1:]._id"
}
Määritä siirtymä
Offset-type-sivutus määrittää ohitettavien sivujen määrän ja pyyntöön sivua kohden noudettavien tapahtumien määrän rajoituksen. Asiakkaat noutavat tietojoukosta tietyn kohdealueen.
| Kenttä | Pakollinen | Kirjoita | Kuvaus |
|---|---|---|---|
PageSize |
Epätosi | Kokonaisluku | Sivukohtaisten tapahtumien määrä. |
PageSizeParameterName |
Epätosi | Merkkijono | Sivun koon kyselyparametrin nimi. |
OffsetParaName |
Epätosi | Merkkijono | Seuraavan pyynnön kyselyparametrin nimi. CCF laskee kunkin pyynnön siirtymäarvon (kaikki tapahtumat, jotka on kirjattu + 1). |
PagingInfoPlacement |
Epätosi | Merkkijono | Kenttä, joka määrittää, miten sivutustiedot täytetään. Hyväksyy jommankumman QueryString tai RequestBody. |
PagingQueryParamOnly |
Epätosi | Totuusarvo | Kenttä, joka määrittää kyselyparametrit. Jos asetuksena on tosi, se jättää pois kaikki muut kyselyparametrit paitsi kyselyn sivutusparametrit. |
Esimerkki:
"paging": {
"pagingType": "Offset",
"offsetParaName": "offset",
"pageSize": 50,
"pagingQueryParamOnly": true,
"pagingInfoPlacement": "QueryString"
}
Määritä countBasedPaging
CountBasedPaging-type-sivutuksen avulla asiakas voi määrittää vastauksessa palautettavien kohteiden määrän. Tämä ominaisuus on hyödyllinen ohjelmointirajapinnoille, jotka tukevat määräparametrin perusteella sivutusta osana vastauksen hyötykuormaa.
| Kenttä | Pakollinen | Kirjoita | Kuvaus |
|---|---|---|---|
pageNumberParaName |
Tosi | Merkkijono | HTTP-pyynnön sivunumeron parametrin nimi. |
PageSize |
Epätosi | Kokonaisluku | Sivukohtaisten tapahtumien määrä. |
ZeroBasedIndexing |
Epätosi | Totuusarvo | Merkintä, joka ilmaisee, että määrä on nollapohjainen. |
HasNextFlagJsonPath |
Epätosi | Merkkijono | HTTP-vastausten hyötykuormassa olevan merkinnän JSON-polku, joka ilmaisee, että sivuja on enemmän. |
TotalResultsJsonPath |
Epätosi | Merkkijono | HTTP-vastausten hyötykuorman tulosten kokonaismäärän JSON-polku. |
PageNumberJsonPath |
Epätosi | Merkkijono | HTTP-vastauskuorman sivunumeron JSON-polku. Pakollinen, jos totalResultsJsonPath se on annettu. |
PageCountJsonPath |
Epätosi | Merkkijono | HTTP-vastausten hyötykuorman sivumäärän JSON-polku. Pakollinen, jos totalResultsJsonPath se on annettu. |
PagingInfoPlacement |
Epätosi | Merkkijono | Kenttä, joka määrittää, miten sivutustiedot täytetään. Hyväksyy jommankumman QueryString tai RequestBody. |
PagingQueryParamOnly |
Epätosi | Totuusarvo | Kenttä, joka määrittää kyselyparametrit. Jos asetuksena on tosi, se jättää pois kaikki muut kyselyparametrit paitsi kyselyn sivutusparametrit. |
Esimerkki:
"paging": {
"pagingType" : "CountBasedPaging",
"pageNumberParaName" : "page",
"pageSize" : 10,
"zeroBasedIndexing" : true,
"hasNextFlagJsonPath" : "$.hasNext",
"totalResultsJsonPath" : "$.totalResults",
"pageNumberJsonPath" : "$.pageNumber",
"pageCountJsonPath" : "$.pageCount"
}
Dcr-määritys
| Kenttä | Pakollinen | Kirjoita | Kuvaus |
|---|---|---|---|
DataCollectionEndpoint |
Tosi | Merkkijono | Tietojen keräämisen päätepiste (DCE). Esimerkki: https://example.ingest.monitor.azure.com. |
DataCollectionRuleImmutableId |
Tosi | Merkkijono | Dcr:n muuttumaton tunnus. Etsi se tarkastelemalla dcr-luontivastaus tai käyttämällä DCR-ohjelmointirajapintaa. |
StreamName |
Tosi | Merkkijono | Tämä arvo on streamDeclaration määritetty DCR:ssä. Etuliitteen alussa Custom-on oltava . |
Esimerkki CCF-tietoyhdistimestä
Tässä on esimerkki kaikista CCF-tietoliittimen JSON:n osista:
{
"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,
"rateLimitConfig": {
"evaluation": {
"checkMode": "OnlyWhen429"
},
"extraction": {
"source": "CustomHeaders",
"headers": {
"limit": {
"name": "X-RateLimit-Limit",
"format": "Integer"
},
"remaining": {
"name": "X-RateLimit-Remaining",
"format": "Integer"
},
"reset": {
"name": "X-RateLimit-RetryAfter",
"format": "UnixTimeSeconds"
}
}
},
"retryStrategy": {
"useResetOrRetryAfterHeaders": true
}
},
"queryWindowInMin": 5,
"httpMethod": "POST",
"queryTimeFormat": "UnixTimestamp",
"startTimeAttributeName": "t0",
"endTimeAttributeName": "t1",
"retryCount": 3,
"timeoutInSeconds": 60,
"headers": {
"Accept": "application/json",
"User-Agent": "Example-app-agent"
}
},
"paging": {
"pagingType": "LinkHeader",
"pagingInfoPlacement": "RequestBody",
"pagingQueryParamOnly": true
},
"response": {
"eventsJsonPaths": ["$"]
}
}
}