python - 更正参数以创建 DiagnosticSettingsOperations 对象
问题描述
我想为 Azure 资源配置诊断设置,因此我正在使用DiagnosticSettingsOperations
类。我能够创建 Class 的客户端( DiagnosticSettingsOperationsMonitorManagementClient
类的第一个参数)。但是,我无法获取需要传递给的其他三个参数。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, name=name, 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":true,"retentionPolicy":{"days":0,"enabled":false}},{other category}]
#for metrics
metrics = [{"enabled":true,"retentionPolicy":{"days":0,"enabled":false},"category":"WorkloadManagement"}]
推荐阅读
- javascript - 如何在 vuex 日志中隐藏下一个状态和上一个状态?
- r - 订购功能无法正确订购
- python - Setting nested enum value as default parameter in class __init__
- mysql - I need some design where I can keep more than one value in one column
- python - The order of tests works perfect on python 2 but not on python 3
- c++ - unresolved external symbol CORBA server
- ios - ReactNative iOS UNUserNotificationCenter:实现 didReceiveNotificationResponse
- ruby-on-rails - 将用户头像从资产/图像更改为图片
- linux - 有没有办法在linux中进行事件订阅
- javascript - 如何仅通过路由器链接访问 Vue.js 中的路由