微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建 DiagnosticSettingsOperations 对象的正确参数

如何解决创建 DiagnosticSettingsOperations 对象的正确参数

我想为 Azure 资源配置诊断设置,因此我使用了 DiagnosticSettingsOperations 类。我能够创建 MonitorManagementClient 类的客户端(DiagnosticSettingsOperations 类的第一个参数)。但是,我无法获取需要传递给 DiagnosticSettingsOperations 的其他三个参数。

构造函数

DiagnosticSettingsOperations(client,config,serializer,deserializer)

由于我不知道该传递什么,所以我只给出了空白字符串 ''

以下是我的示例代码

azureCredential = authenticatetoAzureUsingServicePrincipal()
monitorManagerClient = MonitorManagementClient(azureCredential,'xxx-xxxx-xxxx-xxxx-xxxxxx')

diagnosticSettingsOperationsClient = DiagnosticSettingsOperations(monitorManagerClient,'','')
resource_uri = '<AZURE RESOURCE ID OF sql DATABASE>'
name = 'coemonitoreu'
workspace_id = 'AZURE RESOURCE ID OF LOG ANALYTICS WORKSPACE'
metrics = ["WorkloadManagement"]
logs = ["sqlInsights"]

parameter_list = {
    'workspace_id': workspace_id,'metrics': metrics,'logs': logs
    }
diagnosticSettingsOperationsClient.create_or_update(resource_uri=resource_uri,name=name,parameters=parameter_list)

我知道我的类调用错误的,谁能指出创建 DiagnosticSettingsOperations 客户端的正确方法,以便我可以使用它的 create_or_update 方法来配置诊断设置。

运行代码时出错:

<azure.mgmt.monitor._monitor_management_client.MonitorManagementClient object at 0x000002053F7BD448>
Traceback (most recent call last):
  File "C:\Users\manjug\source\repos\ExtolloConfigDatabase\ExtolloConfigDatabase\anotherPythonFile.py",line 35,in <module>
    diagnosticSettingsOperationsClient.create_or_update(resource_uri=resource_uri,parameters=parameter_list)
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\python37_64\lib\site-packages\azure\mgmt\monitor\v2017_05_01_preview\operations\_diagnostic_settings_operations.py",line 139,in create_or_update
    'resourceUri': self._serialize.url("resource_uri",resource_uri,'str',skip_quote=True),AttributeError: 'str' object has no attribute 'url'

解决方法

请尝试如下设置:

#for log    
logs = [{"category":"SQLInsights","enabled":true,"retentionPolicy":{"days":0,"enabled":false}}]
#to set more catetories,you can use a "," symbol in the [],like below:
logs = [{"category":"SQLInsights","enabled":false}},{other category}]

#for metrics
metrics = [{"enabled":true,"enabled":false},"category":"WorkloadManagement"}]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。