如何用Python Azure SDK检索Azure存储服务日志配置及读写删状态
使用Python Azure SDK检索Azure存储服务日志配置
前置准备
- 安装所需依赖包:
pip install azure-mgmt-storage azure-identity - 确保执行代码的身份拥有目标存储账户的Storage Account Contributor或同等权限
代码实现:获取Blob、Queue、Table服务的日志配置
以下代码通过Azure管理SDK获取存储账户中三个服务的日志配置,包含读写删操作的启用状态及日志保留策略:
from azure.identity import DefaultAzureCredential from azure.mgmt.storage import StorageManagementClient # 替换为你的实际配置 SUBSCRIPTION_ID = "你的订阅ID" RESOURCE_GROUP_NAME = "资源组名称" STORAGE_ACCOUNT_NAME = "存储账户名称" # 初始化存储管理客户端 credential = DefaultAzureCredential() storage_mgmt_client = StorageManagementClient(credential, SUBSCRIPTION_ID) # 获取存储账户的服务属性(包含日志配置) service_props = storage_mgmt_client.storage_accounts.get_service_properties( RESOURCE_GROUP_NAME, STORAGE_ACCOUNT_NAME ) # 解析Blob服务日志配置 blob_log_config = service_props.blob_service.properties.logging print("=== Blob服务日志配置 ===") print(f"日志总开关: {'已启用' if blob_log_config.enabled else '未启用'}") print(f"记录Read操作: {'是' if blob_log_config.read else '否'}") print(f"记录Write操作: {'是' if blob_log_config.write else '否'}") print(f"记录Delete操作: {'是' if blob_log_config.delete else '否'}") print(f"日志保留天数: {blob_log_config.retention_policy.days}") print(f"保留策略启用: {'是' if blob_log_config.retention_policy.enabled else '否'}") # 解析Queue服务日志配置(对应你要查看的读写删状态) queue_log_config = service_props.queue_service.properties.logging print("\n=== Queue服务日志配置 ===") print(f"日志总开关: {'已启用' if queue_log_config.enabled else '未启用'}") print(f"记录Read操作: {'是' if queue_log_config.read else '否'}") print(f"记录Write操作: {'是' if queue_log_config.write else '否'}") print(f"记录Delete操作: {'是' if queue_log_config.delete else '否'}") print(f"日志保留天数: {queue_log_config.retention_policy.days}") print(f"保留策略启用: {'是' if queue_log_config.retention_policy.enabled else '否'}") # 解析Table服务日志配置 table_log_config = service_props.table_service.properties.logging print("\n=== Table服务日志配置 ===") print(f"日志总开关: {'已启用' if table_log_config.enabled else '未启用'}") print(f"记录Read操作: {'是' if table_log_config.read else '否'}") print(f"记录Write操作: {'是' if table_log_config.write else '否'}") print(f"记录Delete操作: {'是' if table_log_config.delete else '否'}") print(f"日志保留天数: {table_log_config.retention_policy.days}") print(f"保留策略启用: {'是' if table_log_config.retention_policy.enabled else '否'}")
查看Queue服务读写删操作的日志状态
代码中queue_log_config对象的三个核心属性对应你需要确认的内容:
queue_log_config.read:是否启用Queue服务Read操作的日志记录queue_log_config.write:是否启用Queue服务Write操作的日志记录queue_log_config.delete:是否启用Queue服务Delete操作的日志记录
这些属性返回布尔值,直接对应你提到的红圈标注部分的配置状态。如果日志总开关queue_log_config.enabled为True,且对应操作的属性为True,则说明该操作的日志已正常启用。
内容的提问来源于stack exchange,提问作者Huu Nguyen
相关产品推荐
相关产品推荐

