請使用以下策略來提升您 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 參考中 Computers 的描述、列出和搜尋操作的 expand 參數說明。)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類別定義了幾個字串,使指定要包含的屬性變得更容易 Computer物件(字串的確切名稱因 SDK 語言而異):
|
警告expand 參數的預設值是 all 。如果您提供 null 或未提供參數值,將返回所有電腦防護資訊。 |
使用覆蓋參數
當您從 Server & Workload Security保護 檢索許多大型物件時,僅包含被覆蓋的屬性值可以大幅減少返回物件的大小。許多 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
和ComputerFirewallRuleAssignmentsApi
PolicyIntegrityMonitoringRuleAssignmentsRecommendationsApi
和ComputerIntegrityMonitoringRuleAssignmentsRecommendationsApi
PolicyIntrusionPreventionRuleAssignmentsRecommendationsApi
和ComputerIntrusionPreventionRuleAssignmentsRecommendationsApi
PolicyLogInspectionRuleAssignmentsRecommendationsApi
和ComputerLogInspectionRuleAssignmentsRecommendationsApi
使用這些類別比使用
Policy
或電腦防護
物件的安全模組擴展物件來配置規則指派更具效能。例如,要指派防火牆規則,請使用PolicyFirewallRuleAssignmentsApi
類別的方法或函數,將防火牆規則新增到特定的政策中。效能較低的指派規則方式是將規則新增到FirewallPolicyExtension
物件,將該物件新增到Policy
物件,然後使用PoliciesApi
來修改政策。直接與單一設定互動
為了在與政策、電腦防護和系統設定互動時最小化回應大小,請直接與個別政策設定互動,而不是通過修改整個政策。
如建立和配置政策中所述,您可以通過兩種方式與政策設置互動:
- 使用
PoliciesApi
類別來檢索、修改或重置單一政策設定。回應包括一個SettingValue
物件。 - 使用
PoliciesApi
類別檢索或修改政策。回應包含一個Policy
物件,其中包括一個PolicySettings
物件。
一個包含字串值的
SettingValue
物件,比包含所有屬性值和設定值的 Policy
物件小得多。同樣地,使用
PoliciesApi
類別直接與個別的預設策略設定互動,使用 ComputersApi
類別進行個別的電腦防護設定,並使用 SystemSettingsApi
類別進行個別的系統設定(請參閱 設定電腦以覆寫策略 和 設定 Server & Workload Security保護 系統設定)。頁面您的搜尋結果
如果可能,從 Server & Workload Security保護 檢索大量物件時,請分頁檢索結果,以避免過度佔用伺服器資源。如果您在執行搜尋時發現管理器效能下降,請重構您的程式碼以執行一系列返回較小結果集的搜尋。
如需詳細資訊,請參閱 搜尋資源 指南中的「限制搜尋結果和分頁」部分。