简体   繁体   English

使用 python sdk 从 azure 存储中提取指标

[英]Pulling metrics from azure storage with the python sdk

I'm trying to get metrics from azure storage, like transaction_count, ingress, egress, server sucess latency etc.我正在尝试从 azure 存储中获取指标,例如事务计数、入口、出口、服务器成功延迟等。

I am trying with the following code:我正在尝试使用以下代码:

from azure.storage.blob import BlobAnalyticsLogging, Metrics, CorsRule, RetentionPolicy

# Create logging settings
logging = BlobAnalyticsLogging(read=True, write=True, delete=True, retention_policy=RetentionPolicy(enabled=True, days=5))

# Create metrics for requests statistics
hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5))
minute_metrics = Metrics(enabled=True, include_apis=True,retention_policy=RetentionPolicy(enabled=True, days=5))

# Create CORS rules
cors_rule = CorsRule(['www.xyz.com'], ['GET'])
cors = [cors_rule]

# Set the service properties
blob_service_client.set_service_properties(logging, hour_metrics, minute_metrics, cors)
# [END set_blob_service_properties]

# [START get_blob_service_properties]
properties = blob_service_client.get_service_properties()
# [END get_blob_service_properties]

print (properties)

This one does not give an error, but returns the following output:这个不报错,但返回如下output:

{'analytics_logging': <azure.storage.blob._models.BlobAnalyticsLogging object at 0x7ffa629d8880>, 'hour_metrics': <azure.storage.blob._models.Metrics object at 0x7ffa629d84c0>, 'minute_metrics': <azure.storage.blob._models.Metrics object at 0x7ffa629d8940>, 'cors': [<azure.storage.blob._models.CorsRule object at 0x7ffa629d8a60>], 'target_version': None, 'delete_retention_policy': <azure.storage.blob._models.RetentionPolicy object at 0x7ffa629d85e0>, 'static_website': <azure.storage.blob._models.StaticWebsite object at 0x7ffa629d8a00>} {'analytics_logging': <azure.storage.blob._models.BlobAnalyticsLogging object at 0x7ffa629d8880>, 'hour_metrics': <azure.storage.blob._models.Metrics object at 0x7ffa629d84c0>, 'minute_metrics': <azure.storage.blob. _models.Metrics object at 0x7ffa629d8940>, 'cors': [<azure.storage.blob._models.CorsRule object at 0x7ffa629d8a60>], 'target_version': None, 'delete_retention_policy': <azure.storage.blob._models.RetentionPolicy object在 0x7ffa629d85e0>,“static_website”:<azure.storage.blob._models.StaticWebsite object 在 0x7ffa629d8a00>}

I understand that maybe I am missing something, the documentation is quite dense and I don't understand it very well.我知道也许我遗漏了一些东西,文档非常密集,我不太了解。

Thanks in advance for any possible answers提前感谢任何可能的答案

You would probably want to read the service properties as dictionary:您可能希望将服务属性作为字典读取:

properties = blob_service_client.get_service_properties().as_dict()

This way you should be able to process (or read) the output further in your code.这样,您应该能够在您的代码中进一步处理(或读取)output。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM