請使用以下策略來提升您 API 和 SDK 呼叫的效能。
最小化電腦防護回應大小
簡單值的電腦防護屬性總是包含在返回的
電腦防護物件中。然而,您可以控制包含具有複雜值的屬性(這些值是其他物件)。以下 JSON 代表電腦防護物件的資料結構。複雜屬性的值由大括號符號{...}表示。{
"hostName": "string",
"displayName": "string",
"description": "string",
"lastIPUsed": "string",
"platform": "string",
"groupID": 0,
"policyID": 0,
"assetImportanceID": 0,
"relayListID": 0,
"agentFingerPrint": "string",
"applianceFingerPrint": "string",
"lastAgentCommunication": 0,
"lastApplianceCommunication": 0,
"lastSendPolicyRequest": 0,
"lastSendPolicySuccess": 0,
"agentVersion": "string",
"computerStatus": {...},
"computerSettings": {...},
"interfaces": {...},
"biosUUID": "string",
"azureARMVirtualMachineSummary": {...},
"azureVMVirtualMachineSummary": {...},
"ec2VirtualMachineSummary": {...},
"noConnectorVirtualMachineSummary": {...},
"vmwareVMVirtualMachineSummary": {...},
"workspaceVirtualMachineSummary": {...},
"esxsummary": {...},
"ID": 0,
"antiMalware": {...},
"webReputation": {...},
"firewall": {...},
"intrusionPrevention": {...},
"integrityMonitoring": {...},
"logInspection": {...},
"applicationControl": {...},
"ESXSummary": {...},
"SAP": {...}
}
例如,如果您需要電腦防護 ID 列表,您可以列出所有電腦防護並指定返回的
Computer 物件中不包含任何複雜屬性。如果您對代理狀態感興趣,請包含 computerStatus 屬性,而不包含其他複雜屬性。
警告預設情況下,所有屬性都包含在返回的電腦防護對象中。
|
ComputersApi 類別的方法或函數,用於描述、列出和搜尋電腦防護,定義了一個 expand 參數來控制包含哪些屬性。expand 參數是一個字串值的列表。Expand 類別定義了可以包含在列表中的字串值。(有關字串值的列表,請參閱 API 參考中 電腦防護 的描述、列出和搜尋操作的擴展參數說明。)expand = api.Expand() expand.add(api.Expand.computer_status) computers_api = api.ComputersApi(api.ApiClient(configuration)) computers = computers_api.list_computers(api_version, expand=expand.list(), overrides=False)
在此範例中,
電腦防護 物件返回的資訊類似以下 JSON:{
"hostName": "string",
"displayName": "string",
"description": "string",
"lastIPUsed": "string",
"platform": "string",
"groupID": 0,
"policyID": 0,
"assetImportanceID": 0,
"relayListID": 0,
"agentFingerPrint": "string",
"applianceFingerPrint": "string",
"lastAgentCommunication": 0,
"lastApplianceCommunication": 0,
"lastSendPolicyRequest": 0,
"lastSendPolicySuccess": 0,
"agentVersion": "string",
"computerStatus": {...},
"biosUUID": "string",
"ID": 0,
}
秘訣Expand 類別定義了幾個字串,使得在 電腦防護 物件中指定要包含的屬性變得更容易(字串的確切名稱因 SDK 語言而異):
|
警告expand 參數的預設值是 all。如果您提供 null 或未提供參數值,將返回所有電腦防護資訊。 |
使用覆蓋參數
當您從 伺服器與工作負載保護 檢索許多大型物件時,僅包含被覆蓋的屬性值可以大幅減少返回物件的大小。許多 API 調用定義了一個
overrides 參數,該參數控制回應是僅包含在目標資源上配置的覆蓋,還是包含所有有效屬性。
秘訣如需詳細資訊,請參閱 關於覆蓋參數 指南。
|
例如,如果您需要所有政策的 ID,您可以使用
PoliciesApi 類別中列出政策的方法或函數,並將 overrides 設置為 true。當許多政策屬性是繼承的時候,檢索覆蓋可以顯著減少響應大小。無論 overrides 參數的值如何,ID 總是會返回。policies_api = api.PoliciesApi(api.ApiClient(configuration)) policies_with_overrides = policies_api.list_policies(api_version, overrides=True)
直接配置規則分配
您可以使用以下類別為政策和電腦配置規則分配:
PolicyFirewallRuleAssignmentsApi和ComputerFirewallRuleAssignmentsApiPolicyIntegrityMonitoringRuleAssignmentsRecommendationsApi和ComputerIntegrityMonitoringRuleAssignmentsRecommendationsApiPolicyIntrusionPreventionRuleAssignmentsRecommendationsApi和ComputerIntrusionPreventionRuleAssignmentsRecommendationsApiPolicyLogInspectionRuleAssignmentsRecommendationsApi和ComputerLogInspectionRuleAssignmentsRecommendationsApi
使用這些類別比使用
Policy或電腦防護物件的安全模組擴展物件來配置規則指派更具效能。例如,要指派防火牆規則,請使用PolicyFirewallRuleAssignmentsApi類別的方法或函數,將防火牆規則新增到特定的政策中。效能較低的指派規則方式是將規則新增到FirewallPolicyExtension物件,將該物件新增到Policy物件,然後使用PoliciesApi來修改政策。直接與單一設定互動
為了在與政策、電腦防護和系統設定互動時最小化回應大小,請直接與個別政策設定互動,而不是通過修改整個政策。
如建立和配置政策中所述,您可以通過兩種方式與政策設置互動:
- 使用
PoliciesApi類別來檢索、修改或重置單一政策設定。回應包括一個SettingValue物件。 - 使用
PoliciesApi類別檢索或修改政策。回應包含一個Policy物件,其中包括一個PolicySettings物件。
一個包含字串值的
SettingValue 物件,比包含所有屬性值和設定值的 Policy 物件小得多。同樣地,使用
PoliciesApi 類別直接與個別的預設策略設定互動,使用 ComputersApi 類別進行個別的電腦防護設定,並使用 SystemSettingsApi 類別進行個別的系統設定(請參閱 設定電腦以覆寫策略 和 設定 伺服器與工作負載保護 系統設定)。頁面您的搜尋結果
如果可能,從 伺服器與工作負載保護 檢索大量物件時,請分頁檢索結果,以避免過度佔用伺服器資源。如果您在執行搜尋時發現管理器效能下降,請重構您的程式碼以執行一系列返回較小結果集的搜尋。
如需詳細資訊,請參閱 搜尋資源 指南中的「限制搜尋結果和分頁」部分。
