無程式代碼連接器平臺的 RestApiPoller 資料連接器參考
RestApiPoller
若要使用無程式代碼連接器平臺建立數據連接器(CCP),請使用此參考做為 Data Connectors 檔Microsoft Sentinel REST API 的補充。
每個 dataConnector
都代表Microsoft Sentinel 數據連接器的特定 連線 。 一個數據連接器可能會有多個連線,可從不同的端點擷取數據。 使用此參考檔建置的 JSON 組態可用來完成 CCP 數據連接器的部署範本。
如需詳細資訊,請參閱為 Microsoft Sentinel 建立無程式碼連接器。
數據連接器 - 建立或更新
參考 REST API 檔中的建立或更新作業,以尋找最新的穩定或預覽 API 版本。 建立和更新作業之間的差異在於更新需要 etag 值。
PUT 方法
https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectors/{{dataConnectorId}}?api-version={{apiVersion}}
URI 參數
如需最新 API 版本的詳細資訊,請參閱 數據連接器 - 建立或更新 URI 參數。
名稱 | 描述 |
---|---|
dataConnectorId | 數據連接器標識碼必須是唯一的名稱,而且與name 要求主體中的 參數相同。 |
resourceGroupName | 資源群組的名稱,不區分大小寫。 |
subscriptionId | 目標訂用帳戶的標識碼。 |
workspaceName | 工作區 的名稱 ,而非標識符。 Regex 模式: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$ |
api-version | 用於此作業的 API 版本。 |
要求本文
CCP 資料連接器的要求本文 RestApiPoller
具有下列結構:
{
"name": "{{dataConnectorId}}",
"kind": "RestApiPoller",
"etag": "",
"properties": {
"connectorDefinitionName": "",
"auth": {},
"request": {},
"response": {},
"paging": "",
"dcrConfig": ""
}
}
RestApiPoller
RestApiPoller 代表 API Poller CCP 數據連接器,您可以在其中自定義數據源的分頁、授權和要求/回應承載。
名稱 | 必要 | 類型 | Description |
---|---|---|---|
name | True | 字串 | 符合 URI 參數之連線的唯一名稱 |
種類 | True | 字串 | 必須是 RestApiPoller |
etag | GUID | 保留空白以建立新的連接器。 針對更新作業,etag 必須符合現有連接器的 etag (GUID)。 | |
properties.connectorDefinitionName | 字串 | 定義數據連接器 UI 組態的 DataConnectorDefinition 資源名稱。 如需詳細資訊,請參閱 數據連接器定義。 | |
性能。認證 | True | 巢狀 JSON | 描述用於輪詢資料的驗證屬性。 如需詳細資訊,請參閱 驗證組態。 |
性能。請求 | True | 巢狀 JSON | 描述用於輪詢資料的要求承載,例如 API 端點。 如需詳細資訊,請參閱要求設定。 |
性能。回應 | True | 巢狀 JSON | 描述輪詢資料時從 API 傳回的回應物件和巢狀訊息。 如需詳細資訊,請參閱回應設定。 |
性能。尋呼 | 巢狀 JSON | 描述輪詢資料時的分頁承載。 如需詳細資訊,請參閱分頁設定。 | |
性能。dcrConfig | 巢狀 JSON | 將數據傳送至數據收集規則時的必要參數(DCR)。 如需詳細資訊,請參閱 DCR 組態。 |
驗證設定
CCP 支援下列驗證類型:
注意
CCP OAuth2 實作不支援客戶端憑證認證。
最佳做法是在驗證區段中使用參數,而不是硬式編碼認證。 如需詳細資訊,請參閱 保護機密輸入。
若要建立也會使用參數的部署範本,您必須在本節中逸出參數,並額外啟動 [
。 這可讓參數根據使用者與連接器的互動來指派值。 如需詳細資訊,請參閱範本運算式逸出字元。
若要啟用要從 UI 輸入的認證,區 connectorUIConfig
段需要 instructions
具有所需的參數。 如需詳細資訊,請參閱 無程式代碼連接器平臺的數據連接器定義參考。
基本驗證
欄位 | 必要 | 類型 |
---|---|---|
UserName | True | 字串 |
密碼 | True | 字串 |
使用 中 connectorUIconfig
定義的參數進行基本身份驗證範例:
"auth": {
"type": "Basic",
"UserName": "[[parameters('username')]",
"Password": "[[parameters('password')]"
}
APIKey
欄位 | 必要 | 類型 | 描述 | 預設值 |
---|---|---|---|---|
ApiKey | True | 字串 | 使用者秘密金鑰 | |
ApiKeyName | 字串 | 包含 ApiKey 值的 URI 標頭名稱 | Authorization |
|
ApiKeyIdentifier | 字串 | 要加上標記的字串值 | token |
|
IsApiKeyInPostPayload | boolean | 在POST主體中傳送秘密,而不是標頭 | false |
APIKey 驗證範例:
"auth": {
"type": "APIKey",
"ApiKey": "[[parameters('apikey')]",
"ApiKeyName": "X-MyApp-Auth-Header",
"ApiKeyIdentifier": "Bearer"
}
此範例會產生下列標頭中傳送的使用者輸入所定義的秘密: X-MyApp-Auth-Header:Bearer apikey
"auth": {
"type": "APIKey",
"ApiKey": "123123123",
}
此範例會使用預設值,併產生下列標頭: 授權:令牌123123123
"auth": {
"type": "APIKey",
"ApiKey": "123123123",
"ApiKeyName": ""
}
ApiKeyName
由於 已明確設定為 ""
,因此結果是下列標頭:Authorization:123123123
OAuth2
無程式代碼連接器平台支援 OAuth 2.0 授權碼授與和客戶端認證。 機密和公用用戶端會使用授權碼授與類型來交換存取權杖的授權碼。 在使用者透過重新導向 URL 返回用戶端之後,應用程式會從 URL 取得授權碼,並使用此授權碼來要求存取權杖。
欄位 | 必要 | 類型 | 描述 |
---|---|---|---|
ClientId | True | String | 用戶端識別碼 |
ClientSecret | True | String | 用戶端密碼 |
AuthorizationCode | 當 grantType = 時為 True authorization_code |
String | 如果授與類型是 authorization_code 這個域值,則為從驗證服務傳回的授權碼。 |
Scope | True 表示授與 authorization_code 類型授與 client_credentials 類型的選擇性 |
String | 使用者同意範圍的空間分隔清單。 如需詳細資訊,請參閱 OAuth2 範圍和許可權。 |
RedirectUri | 當 grantType = 時為 True authorization_code |
String | 重新導向的 URL 必須是 https://portal.azure.com/TokenAuthorize/ExtensionName/Microsoft_Azure_Security_Insights |
GrantType | True | String | authorization_code 或 client_credentials |
TokenEndpoint | True | String | URL,以授與中有效的令牌 authorization_code 交換程式碼,或以授與中有效令牌 client_credentials 的用戶端標識碼和秘密交換程式碼。 |
TokenEndpointHeaders | Object | 選擇性索引鍵值物件,用來將自定義標頭傳送至令牌伺服器 | |
TokenEndpointQueryParameters | Object | 選擇性索引鍵值物件,以將自定義查詢參數傳送至令牌伺服器 | |
AuthorizationEndpoint | True | String | 流程的使用者同意 authorization_code URL |
AuthorizationEndpointHeaders | Object | 選擇性索引鍵值物件,用來將自定義標頭傳送至驗證伺服器 | |
AuthorizationEndpointQueryParameters | Object | OAuth2 授權碼流程要求中使用的選擇性密鑰值組 |
驗證程式代碼流程是代表使用者的許可權擷取數據,而客戶端認證則是用來擷取具有應用程式許可權的數據。 數據伺服器會授與應用程式的存取權。 由於客戶端認證流程中沒有任何使用者,因此不需要授權端點,只需要令牌端點。
範例: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"
}
範例: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
範例:JSON Web 令牌 (JWT)
"auth": {
"type": "JwtToken",
"userName": {
"key":"username",
"value":"[[parameters('UserName')]"
},
"password": {
"key":"password",
"value":"[[parameters('Password')]"
},
"TokenEndpoint": {"https://token_endpoint.contoso.com"},
"IsJsonRequest": true
}
要求設定
要求區段會定義 CCP 數據連接器如何將要求傳送至您的數據源,例如 API 端點,以及輪詢該端點的頻率。
欄位 | 必要 | 類型 | 描述 |
---|---|---|---|
ApiEndpoint | True | String | 遠端伺服器的 URL。 定義要從中提取資料的端點。 |
RateLimitQPS | 整數 | 定義一秒內允許的呼叫或查詢數目。 | |
QueryWindowInMin | 整數 | 以分鐘為單位定義可用的查詢視窗。 最小值為1分鐘。 預設值為 5 分鐘。 | |
HttpMethod | String | 定義 API 方法: GET (預設值) 或 POST |
|
QueryTimeFormat | String | 定義端點 (遠端伺服器) 預期的日期和時間格式。 CCP 會使用目前日期和時間,無論使用這個變數。 可能的值為常數: UnixTimestamp 、 UnixTimestampInMills 或任何其他有效的日期時間表示法,例如: yyyy-MM-dd 、 MM/dd/yyyy HH:mm:ss 預設值為 ISO 8601 UTC |
|
RetryCount | 整數 (1...6) | 1 定義以6 重試允許從失敗復原的重試。 預設值為 3 。 |
|
TimeoutInSeconds | 整數 (1...180) | 定義要求逾時,以秒為單位。 預設為 20 |
|
IsPostPayloadJson | 布林值 | 判斷 POST 承載是否採取 JSON 格式。 預設為 false |
|
標題 | Object | 定義要求標頭的索引鍵值組。 | |
QueryParameters | Object | 定義要求查詢參數的索引鍵值組。 | |
StartTimeAttributeName | 設定時 EndTimeAttributeName 為 True |
String | 定義查詢開始時間的查詢參數名稱。 請參閱 範例。 |
EndTimeAttributeName | 設定時 StartTimeAttributeName 為 True |
String | 定義查詢結束時間的查詢參數名稱。 |
QueryTimeIntervalAttributeName | String | 如果端點需要特殊格式來查詢時間範圍內的數據,請搭配 QueryTimeIntervalPrepend 和 QueryTimeIntervalDelimiter 參數使用這個屬性。 請參閱 範例。 |
|
QueryTimeIntervalPrepend | 設定時 QueryTimeIntervalAttributeName 為 True |
String | 請參閱QueryTimeIntervalAttributeName |
QueryTimeIntervalDelimiter | 設定時 QueryTimeIntervalAttributeName 為 True |
String | 請參閱QueryTimeIntervalAttributeName |
QueryParametersTemplate | String | 在進階案例中傳遞參數時要使用的查詢範本。 br>例如: "queryParametersTemplate": "{'cid': 1234567, 'cmd': 'reporting', 'format': 'siem', 'data': { 'from': '{_QueryWindowStartTime}', 'to': '{_QueryWindowEndTime}'}, '{_APIKeyName}': '{_APIKey}'}" |
當 API 需要複雜的參數時,請使用 queryParameters
或 queryParametersTemplate
,其中包含一些內建變數。
內建變數 | 用於 queryParameters |
用於 queryParametersTemplate |
---|---|---|
_QueryWindowStartTime |
是 | 是 |
_QueryWindowEndTime |
是 | 是 |
_APIKeyName |
否 | 是 |
_APIKey |
否 | 是 |
StartTimeAttributeName 範例
請考慮此範例:
StartTimeAttributeName
=from
EndTimeAttributeName
=until
ApiEndpoint
=https://www.example.com
傳送至遠端伺服器的查詢如下: https://www.example.com?from={QueryTimeFormat}&until={QueryTimeFormat + QueryWindowInMin}
QueryTimeIntervalAttributeName 範例
請考慮此範例:
QueryTimeIntervalAttributeName
=interval
QueryTimeIntervalPrepend
=time:
QueryTimeIntervalDelimiter
=..
ApiEndpoint
=https://www.example.com
傳送至遠端伺服器的查詢如下: https://www.example.com?interval=time:{QueryTimeFormat}..{QueryTimeFormat + QueryWindowInMin}
使用 Microsoft Graph 作為數據源 API 的要求範例
此範例會使用篩選查詢參數來查詢訊息。 如需詳細資訊,請參閱 Microsoft圖形 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 "
}
上一個範例會將 GET
要求傳送至 https://graph.microsoft.com/v1.0/me/messages?filter=receivedDateTime gt {time of request} and receivedDateTime lt 2019-09-01T17:00:00.0000000
。 時間戳會每次 queryWindowInMin
更新。
此範例會達成相同的結果:
"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}"
}
}
另一個選項是數據源預期有 2 個查詢參數,一個用於開始時間和一個用於結束時間。
範例:
"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",
}
這會將要求傳送 GET
至 https://graph.microsoft.com/me/calendarView?startDateTime=2019-09-01T09:00:00.0000000&endDateTime=2019-09-01T17:00:00.0000000
針對複雜的查詢,請使用 QueryParametersTemplate
。 下一個範例會在 POST
本文中傳送具有參數的要求。
範例:
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}))\"}"
}
回應設定
使用下列參數定義資料連接器的回應處理:
欄位 | 必要 | 類型 | 描述 |
---|---|---|---|
EventsJsonPaths | True | 字串清單 | 定義回應 JSON 中訊息的路徑。 JSON 路徑運算式會指定 JSON 結構中一個元素或一組元素的路徑 |
SuccessStatusJsonPath | String | 定義回應 JSON 中成功訊息的路徑。 定義此參數時, SuccessStatusValue 也應該定義 參數。 |
|
SuccessStatusValue | String | 定義回應 JSON 中成功訊息值的路徑 | |
IsGzipCompressed | 布林值 | 判斷回應是否壓縮在 gzip 檔案中 | |
format | True | String | json 、csv 或 xml |
CompressionAlgo | String | 壓縮演算法,或 multi-gzip deflate 。 針對 gzip 壓縮演算法,只要設定 IsGzipCompressed 為 True ,而不是設定此參數的值即可。 |
|
CsvDelimiter | String | 如果回應格式為 CSV,而且您想要變更 的預設 CSV 分隔符 "," |
|
HasCsvBoundary | 布林值 | 指出 CSV 數據是否有界限 | |
HasCsvHeader | 布林值 | 指出 CSV 數據是否有標頭,預設值為 True |
|
CsvEscape | String | 欄位界限的逸出字元,預設值為 " 例如,具有標頭 id,name,avg 的 CSV 和包含空格的數據列,例如 1,"my name",5.5 需要 " 字段界限。 |
|
ConvertChildPropertiesToArray | 布林值 | 特殊情況下,遠端伺服器會傳回 物件,而不是事件清單,其中每個屬性都有其中的數據。 |
注意
CSV 格式類型是由 RFC4180 規格剖析。
回應組態範例
預期會有 JSON 格式的伺服器回應,且屬性值中有要求的數據。 只有在值為 success
時,回應屬性狀態才會指出擷取數據。
"response": {
"EventsJsonPaths ": ["$.value"],
"format": "json",
"SuccessStatusJsonPath": "$.status",
"SuccessStatusValue": "success",
"IsGzipCompressed: true
}
此範例中預期的回應會針對沒有標頭的 CSV 進行準備。
"response": {
"EventsJsonPaths ": ["$"],
"format": "csv",
"HasCsvHeader": false
}
分頁設定
當數據源無法一次傳送整個響應承載時,CCP 數據連接器必須知道如何在回應 頁面中接收部分數據。 要從選擇的分頁類型包括:
分頁類型 | 決策因素 |
---|---|
API 回應是否有下一頁和上一頁的連結? | |
API 回應是否有下一頁和上一頁的令牌或數據指標? | |
API 回應是否支持參數,以便分頁時要略過的物件數目? |
設定 LinkHeader 或 PersistentLinkHeader
最常見的分頁類型是伺服器數據源 API 提供下一頁和先前數據頁的 URL 時。 如需連結標頭規格的詳細資訊,請參閱 RFC 5988。
LinkHeader
分頁表示 API 回應包括:
Link
HTTP 回應標頭- 或 JSON 路徑,可從回應本文擷取連結。
PersistentLinkHeader
分頁的屬性與 相同 LinkHeader
,但鏈接標頭會保存在後端記憶體中。 這個選項可跨查詢視窗啟用分頁連結。 例如,某些 API 不支援查詢開始時間或結束時間。 相反地,它們支援伺服器端 數據指標。 持續性頁面類型可用來記住伺服器端 數據指標。 如需詳細資訊,請參閱 什麼是數據指標?。
注意
只有一個查詢會針對具有 PersistentLinkHeader 的連接器執行,以避免伺服器端 數據指標上的競爭狀況。 這可能會影響延遲。
欄位 | 必要 | 類型 | 描述 |
---|---|---|---|
LinkHeaderTokenJsonPath | False | String | 使用這個屬性來指出在回應本文中取得值的位置。 例如,如果數據源傳回下列 JSON: { nextPage: "foo", value: [{data}]} 則 LinkHeaderTokenJsonPath 為 $.nextPage |
PageSize | False | 整數 | 每個頁面的事件數 |
PageSizeParameterName | False | String | 頁面大小的查詢參數名稱 |
以下列出一些範例:
Paging: {
"pagingType": "LinkHeader",
"linkHeaderTokenJsonPath" : "$.metadata.links.next"
}
Paging: {
"pagingType" : "PersistentLinkHeader",
"pageSizeParameterName" : "limit",
"pageSize" : 500
}
設定 NextPageUrl
NextPageUrl
分頁表示 API 回應包含類似 LinkHeader
之響應主體中的複雜連結,但 URL 會包含在回應本文中,而不是標頭。
欄位 | 必要 | 類型 | 描述 |
---|---|---|---|
PageSize | False | 整數 | 每個頁面的事件數 |
PageSizeParameterName | False | String | 頁面大小的查詢參數名稱 |
NextPageUrl | False | String | 只有當連接器適用於 Coralogix API 時 |
NextPageUrlQueryParameters | False | 物件索引鍵值組 – 將自定義查詢參數新增至下一頁的每個要求 | |
NextPageParaName | False | String | 決定要求中的「下一頁」名稱。 |
HasNextFlagJsonPath | False | String | 定義 HasNextPage 旗標屬性的路徑 |
NextPageRequestHeader | False | String | 決定要求中的「下一頁」標頭名稱。 |
NextPageUrlQueryParametersTemplate | False | String | 只有當連接器適用於 Coralogix API 時 |
範例:
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\")}"
}
設定 NextPageToken 或 PersistentToken
NextPageToken
分頁會使用代表目前頁面狀態的令牌(哈希或游標)。 令牌包含在 API 回應中,用戶端會將令牌附加至下一個要求以擷取下一頁。 當伺服器需要維護要求之間的確切狀態時,通常會使用此方法。
PersistentToken
分頁會使用保存伺服器端的令牌。 伺服器會記住用戶端擷取的最後一個令牌,並在後續要求中提供下一個令牌。 即使用戶端稍後提出新的要求,用戶端仍會繼續離開該用戶端。
欄位 | 必要 | 類型 | 描述 |
---|---|---|---|
PageSize | False | 整數 | 每個頁面的事件數 |
PageSizeParameterName | False | 字串 | 頁面大小的查詢參數名稱 |
NextPageTokenJsonPath | False | 字串 | 回應本文中下一頁令牌的 JSON 路徑。 |
NextPageTokenResponseHeader | False | 字串 | 如果 NextPageTokenJsonPath 是空的,請使用令牌位於下一頁的這個標頭名稱中。 |
NextPageParaName | False | 字串 | 決定要求中的「下一頁」名稱。 |
HasNextFlagJsonPath | False | 字串 | 在判斷回應中是否剩下更多頁面時,定義 HasNextPage 旗標屬性的路徑。 |
NextPageRequestHeader | False | 字串 | 決定要求中的「下一頁」標頭名稱。 |
範例:
Paging: {
"pagingType" : "NextPageToken",
"nextPageRequestHeader" : "ETag",
"nextPageTokenResponseHeader" : "ETag"
}
Paging: {
"pagingType" : "PersistentToken",
"nextPageParaName" : "gta",
"nextPageTokenJsonPath" : "$.alerts[-1:]._id"
}
設定 Offset
Offset
分頁會指定要略過的頁數,以及要求中每個頁面要擷取的事件數目限制。 用戶端會從數據集擷取特定範圍的專案。
欄位 | 必要 | 類型 | 描述 |
---|---|---|---|
PageSize | False | 整數 | 每個頁面的事件數 |
PageSizeParameterName | False | String | 頁面大小的查詢參數名稱 |
OffsetParaName | False | String | 下一個要求查詢參數名稱。 CCP 會計算每個要求的位移值(所有擷取的事件 + 1) |
範例:
Paging: {
"pagingType": "Offset",
"offsetParaName": "offset"
}
DCR 組態
欄位 | 必要 | 類型 | 描述 |
---|---|---|---|
DataCollectionEndpoint | True | String | DCE (資料收集端點)例如: https://example.ingest.monitor.azure.com 。 |
DataCollectionRuleImmutableId | True | String | DCR 不可變標識碼。 檢視 DCR 建立回應或使用 DCR API 來尋找它 |
StreamName | True | 字串 | 此值是 streamDeclaration DCR 中定義的 (前置詞開頭必須是 Custom-) |
CCP 資料連接器範例
以下是 CCP 資料連接器 JSON 的所有元件範例。
{
"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": ["$"]
}
}
}