APIおよびSDK呼び出しのパフォーマンスを向上させるには、次の方法を使用します。
コンピュータの応答サイズを最小にする
単純な値であるコンピュータのプロパティは、常に返されるプロパティに含まれます。
Computerオブジェクト。ただし、複雑な値 (値は別のオブジェクト) を持つプロパティを含めることはできます。次のJSONは、Computerオブジェクト。複合プロパティの値は中括弧記号で表されます。{...} 。{
"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プロパティであり、その他の複雑なプロパティはありません。
警告初期設定では、返されるComputerオブジェクトにはすべてのプロパティが含まれます。
|
ComputersApiクラスのメソッドまたは関数でコンピュータを記述、一覧表示、検索するものは、どのプロパティを含めるかを制御するexpandパラメータを定義します。expandパラメータは文字列値のリストです。Expandクラスはリストに含めることができる文字列値を定義します。(文字列値のリストについては、APIレファレンスのComputersの記述、一覧表示、検索操作の展開パラメータの説明を参照してください。)次のコードは、例でコンピュータのステータスに関するレポートガイドは、computer statusプロパティを含むコンピュータのリストを取得します。
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)
この例では、
Computerオブジェクトは次の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 Protectionから多数の大きなオブジェクトを取得する場合、オーバーライドされたプロパティ値のみを含めると、返されるオブジェクトのサイズを大幅に削減できます。多くのAPI呼び出しでは、
overrides対象のリソースで設定されたオーバーライドのみを対応に含めるか、すべての有効なプロパティを含めるかを制御するパラメータです。
ヒント詳細については、 Overridesパラメータについてガイドします。
|
たとえば、すべてのポリシーのIDが必要な場合は、
PoliciesApiを含むポリシーをリストするクラスoverridesに設定true 。ポリシーのプロパティの多くが継承されている場合、オーバーライドを取得すると、対応サイズを大幅に削減できます。このIDは、overridesパラメータの値に関係なく常に返されます。policies_api = api.PoliciesApi(api.ApiClient(configuration)) policies_with_overrides = policies_api.list_policies(api_version, overrides=True)
ルールの割り当てを直接設定する
次のクラスを使用して、ポリシーとコンピュータに対するルールの割り当てを設定できます。
PolicyFirewallRuleAssignmentsApiそしてComputerFirewallRuleAssignmentsApiPolicyIntegrityMonitoringRuleAssignmentsRecommendationsApiそしてComputerIntegrityMonitoringRuleAssignmentsRecommendationsApiPolicyIntrusionPreventionRuleAssignmentsRecommendationsApiそしてComputerIntrusionPreventionRuleAssignmentsRecommendationsApiPolicyLogInspectionRuleAssignmentsRecommendationsApiそしてComputerLogInspectionRuleAssignmentsRecommendationsApi
これらのクラスを使用すると、セキュリティモジュール拡張オブジェクトを使用してルールの割り当てを設定するよりも効率的です
PolicyまたはComputerオブジェクト。たとえば、ファイアウォールルールを割り当てるには、PolicyFirewallRuleAssignmentsApi特定のポリシーにファイアウォールルールを追加するクラス。ルールを割り当てる方法としては、パフォーマンスが低下します。FirewallPolicyExtensionオブジェクトに追加します。Policyオブジェクトを使用します。PoliciesApiをクリックしてポリシーを変更します。単一の設定を直接操作する
ポリシー、コンピュータ、およびシステム設定を操作する際の対応サイズを最小限に抑えるには、ポリシーを変更するのではなく、個々のポリシー設定を直接操作します。
ポリシーの作成と構成で説明されているように、ポリシー設定と対話する方法は2つあります。
- を使用します。
PoliciesApiクラスを使用して、単一のポリシー設定を取得、変更、またはリセットします。対応にはSettingValueオブジェクト。 - を使用します。
PoliciesApiポリシーを取得または変更します。対応にはPolicyオブジェクト。PolicySettingsオブジェクト。
A
SettingValue文字列値を含むオブジェクトは、Policyこのオブジェクトには、ポリシーのすべてのプロパティ値と設定値が含まれます。同様に、
PoliciesApiクラスを使用して個々の初期設定のポリシー設定を直接操作するには、ComputersApi個々のコンピュータ設定のクラスを選択し、SystemSettingsApi個々のシステム設定のクラス (「ポリシーを上書きするようにコンピュータを設定するそして Server & Workload Protection システム設定の構成)。検索結果のページング
Server & Workload Protection から大量のオブジェクトを取得する場合は、サーバリソースに負担がかからないように、可能な場合はページ単位で検索結果を取得します。検索の実行時にManagerのパフォーマンスが低下することがわかった場合は、コードをリファクタリングして、一連の検索を実行し、より小さな結果セットを返します。
詳細については、リソースの検索ガイドの「検索結果の制限とページング」セクションを参照してください。
