为什么90%的AZ-500考生搞不定日志查询?真相在这里:KQL语法精讲

第一章:MCP AZ-500 日志分析概述

Azure Monitor 是实现 MCP AZ-500 认证中日志分析的核心服务,用于收集、查询和可视化来自 Azure 资源、操作系统及应用程序的日志数据。通过 Log Analytics 工作区,管理员可以集中存储并高效查询日志信息,以支持安全监控、威胁检测和合规性审计。

日志数据采集配置

要启用资源的日志收集,需将虚拟机或服务与 Log Analytics 工作区关联。以下 PowerShell 示例展示如何为 Azure 虚拟机启用诊断扩展:

# 启用诊断扩展以发送日志到 Log Analytics
Set-AzVMExtension -ResourceGroupName "rg-security" `
                  -VMName "vm-web" `
                  -Name "MicrosoftMonitoringAgent" `
                  -Publisher "Microsoft.EnterpriseCloud.Monitoring" `
                  -ExtensionType "MicrosoftMonitoringAgent" `
                  -TypeHandlerVersion "1.0" `
                  -WorkspaceId "your-workspace-id" `
                  -WorkspaceKey "your-workspace-key"
该脚本部署 Microsoft Monitoring Agent,使 VM 可将事件日志和性能计数器发送至指定工作区。

常见日志类型与用途

  • AzureActivity:记录所有 Azure Resource Manager 操作,适用于审计控制平面活动
  • SecurityEvent:来源于 Windows/Linux 安全日志,用于检测登录异常或权限提升行为
  • Heartbeat:确认代理连接状态,验证监控代理是否正常运行
  • AzureDiagnostics:包含来自平台服务(如 NSG、Application Gateway)的诊断日志

查询语言基础:Kusto Query Language (KQL)

Log Analytics 使用 KQL 进行数据检索。例如,以下查询列出过去 6 小时内所有失败的登录尝试:

SecurityEvent
| where EventID == 4625
| project TimeGenerated, Account, IpAddress, Computer
| order by TimeGenerated desc
此查询筛选出 Windows 安全事件 ID 为 4625(账户登录失败)的记录,并输出关键字段用于进一步分析。
功能对应服务说明
日志存储与查询Log Analytics核心分析引擎,支持 KQL 查询
自动化响应Azure Automation & Logic Apps基于警报触发自动修复流程
可视化仪表板Azure Dashboard集成图表展示关键安全指标

第二章:KQL基础语法核心解析

2.1 KQL语言结构与查询逻辑入门

KQL(Kusto Query Language)是一种专为大规模数据分析设计的查询语言,广泛应用于Azure Data Explorer等平台。其核心结构由数据源、管道操作符和输出结果组成,采用“表→过滤→变换→聚合”的链式逻辑。
基础语法结构

// 查询SecurityEvent表中最近1小时的登录成功事件
SecurityEvent
| where TimeGenerated > ago(1h)
| where EventID == 4624
| project TimeGenerated, User, Computer
| summarize count() by User
上述语句首先指定数据表,通过|传递结果集。其中:
- where用于条件过滤;
- project选择输出字段;
- summarize按用户分组计数。
常见操作符分类
  • 过滤类:where, take
  • 投影类:project, extend
  • 聚合类:summarize, count
  • 连接类:join, union

2.2 表达式与运算符在日志筛选中的应用

在日志分析系统中,表达式与运算符是实现高效数据过滤的核心工具。通过组合比较运算符和逻辑表达式,可以精准定位异常行为或关键事件。
常用运算符类型
  • ==, !=:用于匹配或排除特定字段值
  • &&, ||:组合多个筛选条件
  • >, <:适用于时间戳或数值型字段比较
示例:筛选错误日志

level == "error" && service == "auth-service" && duration > 500ms
该表达式筛选出认证服务中级别为 error 且响应时间超过 500 毫秒的日志条目。其中,&& 确保所有条件同时满足,字符串使用双引号包裹,数值单位 ms 被系统自动识别为时间类型。

2.3 过滤、排序与结果限制的实战技巧

在处理大规模数据集时,合理使用过滤、排序和结果限制能显著提升查询效率与响应速度。
精准过滤:减少数据扫描量
通过 WHERE 条件提前筛选目标数据,避免全表扫描。例如在 SQL 中:
SELECT * FROM users 
WHERE status = 'active' 
  AND created_at > '2024-01-01'
ORDER BY last_login DESC 
LIMIT 50;
该语句首先过滤出活跃用户并限定创建时间,有效缩小排序范围。
排序优化与索引配合
为 ORDER BY 字段建立索引可大幅提升排序性能。若按多字段排序,需注意复合索引顺序与查询一致。
分页与性能权衡
使用 LIMIT 和 OFFSET 实现分页时,深分页会导致性能下降。建议采用“游标分页”方式,利用上一页的最后一条记录值作为下一页的查询起点。

2.4 列操作与数据类型转换的常见模式

在数据处理流程中,列操作与类型转换是清洗和准备阶段的核心环节。常见的操作包括重命名、删除、新增列以及类型标准化。
常用列操作
  • 选择与重命名:提取关键字段并赋予更具语义的名称;
  • 删除冗余列:移除空值率高或无业务意义的字段;
  • 类型转换:将字符串转为日期、数值转为分类等。
数据类型转换示例
import pandas as pd

# 示例数据
df = pd.DataFrame({
    'date': ['2023-01-01', '2023-01-02'],
    'price': ['10.5', '12.3'],
    'category': [1, 2]
})

# 类型转换
df['date'] = pd.to_datetime(df['date'])      # 字符串转日期
df['price'] = df['price'].astype(float)     # 字符串转浮点数
df['category'] = df['category'].astype('category')  # 整数转分类类型
上述代码将原始字符串格式的日期和价格列分别转换为 datetime64 和 float64 类型,提升后续计算效率。类别列转为 category 类型可节省内存并支持有序编码。

2.5 时间范围查询与性能优化策略

在处理大规模时序数据时,时间范围查询的效率直接影响系统响应速度。合理的索引设计和查询策略是优化的关键。
使用复合索引提升查询效率
为时间字段和其他常用过滤字段建立复合索引,可显著减少扫描行数。例如,在 PostgreSQL 中创建如下索引:
CREATE INDEX idx_events_time_type ON events (event_time, event_type);
该索引优先按时间排序,再按类型组织,适用于形如 WHERE event_time BETWEEN '2023-01-01' AND '2023-01-31' AND event_type = 'login' 的查询,能有效利用索引下推(Index Condition Pushdown)机制。
分区表优化数据检索
对超大表采用按时间分区(如按月分区),可将查询限制在特定物理子表中:
  • 减少I/O开销
  • 便于冷热数据分离
  • 支持快速删除过期数据
结合缓存机制与预聚合技术,可进一步提升高频时间窗口查询的响应性能。

第三章:常用KQL函数与高级查询

3.1 聚合函数在安全事件分析中的运用

在安全事件分析中,聚合函数能高效识别异常行为模式。通过对海量日志数据进行统计汇总,可快速定位攻击源或异常访问频次。
常用聚合函数示例
  • COUNT():统计事件发生次数,识别高频访问
  • SUM():累计特定字段(如传输字节数)以发现数据泄露
  • MAX()/MIN():检测时间戳或响应时间的极端值
SQL 查询实例
SELECT 
  src_ip,
  COUNT(*) as request_count,
  MAX(timestamp) as last_seen
FROM firewall_logs 
WHERE timestamp > NOW() - INTERVAL '1 hour'
GROUP BY src_ip
HAVING COUNT(*) > 100;
该查询筛选出过去一小时内发起超过100次请求的源IP。COUNT(*) 统计每IP请求频次,GROUP BY 实现分组聚合,HAVING 过滤异常行为,适用于暴力破解或扫描行为的初步识别。

3.2 字符串与时间处理函数实战演练

字符串格式化操作
在实际开发中,字符串拼接和格式化是高频操作。Go语言中推荐使用 fmt.Sprintf 进行安全的格式化输出。
name := "Alice"
age := 30
msg := fmt.Sprintf("用户:%s,年龄:%d", name, age)
// 输出:用户:Alice,年龄:30
该函数支持类型占位符,如 %s 表示字符串,%d 表示整数,避免类型错误。
时间解析与格式转换
时间处理常涉及字符串与 time.Time 类型间的转换。Go 使用固定时间点 2006-01-02 15:04:05 作为布局模板。
t, _ := time.Parse("2006-01-02", "2023-10-01")
formatted := t.Format("January 2, 2006")
// 输出:October 1, 2023
Parse 用于解析字符串为时间对象,Format 则反向生成指定格式字符串。

3.3 条件表达式与动态字段构建技巧

在现代编程实践中,条件表达式不仅是流程控制的核心工具,更是实现动态字段构建的关键手段。通过灵活运用三元运算符和逻辑判断,可以在运行时动态生成结构化数据。
条件表达式的简洁应用
const status = isActive ? 'online' : 'offline';
上述代码利用三元运算符根据布尔值 isActive 动态赋值,避免了冗长的 if-else 语句,提升代码可读性。
动态字段名的构建策略
结合计算属性与条件逻辑,可实现对象字段的动态命名:
const metric = 'responseTime';
const data = { [`app_${metric.toUpperCase()}`]: 120 };
// 结果:{ app_RESPTIME: 120 }
该技巧常用于日志系统或监控指标上报,按需构造字段名称。
  • 优先使用模板字符串生成动态键名
  • 嵌套条件表达式时建议拆分为函数以增强维护性

第四章:典型安全场景下的日志查询实践

4.1 检测异常登录行为的日志查询方法

在安全运维中,识别异常登录行为是防范未授权访问的关键环节。通过分析系统日志中的登录记录,可有效发现潜在威胁。
常见异常行为特征
典型的异常登录包括:短时间内多次失败尝试、非工作时间登录、非常用地登录IP或设备。这些行为可通过日志字段如timestamp、source_ip、username和login_status进行筛选。
基于SQL的日志查询示例
SELECT 
  username, 
  source_ip, 
  COUNT(*) as failed_attempts
FROM login_logs 
WHERE login_status = 'failed' 
  AND timestamp > NOW() - INTERVAL '5 minutes'
GROUP BY username, source_ip
HAVING COUNT(*) >= 5;
该查询用于检测5分钟内同一用户从同一IP连续失败5次以上的情况,常作为暴力破解攻击的初步判断依据。其中NOW() - INTERVAL '5 minutes'限定时间窗口,HAVING子句过滤高风险行为。
增强检测策略
  • 结合地理IP数据库识别跨国快速登录
  • 引入用户行为基线进行偏离分析
  • 设置实时告警规则联动防火墙封禁

4.2 追踪Azure资源变更的操作日志分析

在Azure环境中,追踪资源变更的核心工具是**Azure Monitor中的活动日志**。该日志记录所有对资源组、虚拟机、存储账户等执行的管理操作,便于审计与故障排查。
启用诊断设置以导出日志
为持久化存储和分析,需将活动日志导出到Log Analytics工作区、存储账户或事件中心:
{
  "properties": {
    "destination": {
      "resourceId": "/subscriptions/xxx-xxx/resourceGroups/rg-logs/providers/Microsoft.OperationalInsights/workspaces/workspace1",
      "category": "Administrative",
      "enabled": true
    }
  }
}
上述配置表示将“Administrative”类日志发送至指定Log Analytics工作区,支持后续用Kusto查询语言进行深度分析。
常用查询示例
在Log Analytics中可使用如下查询定位资源变更:
  • AzureActivity | where OperationName contains "Microsoft.Compute/virtualMachines/write":追踪虚拟机创建或更新操作。
  • AzureActivity | where Level == "Error":筛选所有错误级别的管理事件。
通过结合时间范围、调用者(Caller)和状态(Status),可精准还原变更上下文。

4.3 监控网络威胁与防火墙事件的KQL编写

在网络安全运营中,使用Kusto查询语言(KQL)对防火墙日志进行分析是识别潜在威胁的关键手段。通过Azure Sentinel或Microsoft Defender for Cloud,可以高效检索和响应异常网络行为。
基础查询构建
以下查询用于识别来自单一源IP的高频连接尝试,可能预示扫描行为:

CommonSecurityLog
| where DeviceVendor == "Cisco" or DeviceVendor == "Palo Alto"
| where Activity == "Deny" 
| summarize Attempts=count(), Destinations=dcount(DestinationIp) by SourceIp
| where Attempts > 10 and Destinations > 5
| project-reorder SourceIp, Attempts, Destinations
该查询首先过滤出防火墙拒绝日志,按源IP聚合连接次数与目标地址数量,筛选出高频率且多目标的拒绝记录,有助于发现横向移动或端口扫描行为。
高级威胁模式识别
结合时间窗口滑动统计,可检测短时间内的突发流量:
  • 使用bin(TimeGenerated, 5m)划分时间区间
  • 通过summarize count() by SourceIp, bin_time统计每IP每时段请求数
  • 应用where count_ > 50识别异常突增

4.4 综合攻击链分析中的多表关联查询

在高级威胁检测中,单一数据源难以还原完整攻击路径。通过多表关联查询,可整合终端日志、网络流量与认证记录,实现跨维度行为关联。
关联核心字段设计
关键字段如源IP、用户标识、时间戳需统一标准化,作为连接不同数据表的桥梁,提升查询效率。
SQL 示例:横向移动识别
SELECT 
    e1.src_ip, e1.user, e2.dst_host, e1.timestamp
FROM 
    endpoint_logs e1
JOIN 
    auth_events a ON e1.user = a.user AND e1.src_ip = a.src_ip
JOIN 
    network_connections e2 ON a.session_id = e2.session_id
WHERE 
    e1.timestamp BETWEEN '2023-09-01 00:00:00' AND '2023-09-01 01:00:00';
该查询通过用户和会话ID串联终端与网络行为,识别潜在横向移动。时间窗口过滤确保行为时序一致性,减少误报。
性能优化策略
  • 建立复合索引于常用关联字段(如 timestamp + user)
  • 采用分区表按时间切片,加速范围扫描
  • 预聚合高频关联视图,降低实时计算负载

第五章:结语与AZ-500备考建议

制定合理的学习路径
备考AZ-500需系统掌握Azure安全中心、身份保护、网络安全组及密钥管理等核心内容。建议按模块划分学习周期,优先掌握Identity and Access Management(IAM)与Security Operations。
  • 完成Microsoft Learn平台上的官方学习路径,如“Secure Azure identities and access”
  • 在Azure门户中动手配置Conditional Access策略与MFA设置
  • 定期使用Azure Security Benchmark检查资源配置合规性
实战模拟环境搭建
通过Azure免费账户部署测试环境,模拟真实攻击场景并实施防御策略:
{
  "policyDefinitionName": "Enable Monitoring in Security Center",
  "effect": "AuditIfNotExists",
  "scope": "/subscriptions/xxxx-xxxx-xxxx/resourceGroups/test-rg"
}
该策略可强制启用Azure Defender监控,确保资源符合安全基线要求。
推荐备考资源组合
资源类型推荐内容使用频率
在线课程Pluralsight: AZ-500路径每日1小时
练习题库Whizlabs模拟考试每周2套
关键技能强化建议
在实验环境中实现以下流程: 用户登录 → 条件访问策略触发 → Azure AD Identity Protection评估风险 → 自动化响应(如阻断或要求多因素认证)
重点关注日志集成方案,例如将Azure Monitor与Sentinel联动,实现威胁检测的集中化分析。同时熟悉NSG流日志的导出与解析方法,提升网络层故障排查能力。
YOLOv8作物病害检测实战源码 这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。 立即下载

相关推荐

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

产业园区运营负责人如何利用平台实现企业创新需求的精准分析与服务推送?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?.docx

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?

高校技术转移办公室人员在推动成果转化落地过程中,如何实现科技成果的高效推介与价值评估?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

科技中介服务机构如何通过数智工具提升技术需求挖掘的精准度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

政府科技管理者如何在政策支持中更精准地识别和支持高价值科技项目?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员如何系统化管理科技成果信息?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

科技中介服务机构如何构建标准化、模块化的智能服务工具?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

全桥LLC谐振变化器参数设计资料(闭环仿真+参数设计报告)

内容概要:本文档系统性地介绍了全桥LLC谐振变换器的闭环仿真建模与关键参数设计方法,涵盖其工作原理、谐振元件(如谐振电感、谐振电容、励磁电感)的计算与优化流程,并结合Simulink或Plecs等仿真平台构建闭环控制系统模型,重点验证变频控制策略下的软开关实现、系统增益特性、效率优化及动态响应性能。资料包含完整的仿真模型、参数设计报告、数学计算书及参考文献,支持从理论分析到工程实践的全流程研究,适用于高频高效DC-DC变换器的研发与教学应用。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校学生、科研人员,以及从事开关电源、新能源变换器、工业电源研发的工程技术人员,具备电路拓扑基础与仿真软件操作能力者更佳。; 使用场景及目标:①深入掌握全桥LLC谐振变换器的工作机理与谐振参数设计准则;②学习并实现闭环反馈控制系统的建模与稳定性分析;③支撑科研课题、课程设计、毕业设计或实际产品开发中的拓扑选型与性能验证需求;④通过仿真与计算联动提升对软开关技术与效率优化的理解与应用能力。; 阅读建议:建议结合所提供的仿真文件与设计文档同步操作,按照“建模—参数计算—仿真验证—性能分析”的流程逐步推进,重点关注频率调节对ZVS/ZCS实现的影响,对比不同负载条件下的闭环响应差异,深化对谐振腔特性和控制策略协同作用的理解。

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

政府科技管理者如何提升区域科技成果转化项目的评价与筛选效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

PSIM-三相维也纳VIENNA整流器电压电流双闭环+中点电位平衡SVPWM控制仿真

内容概要:本文档详细介绍了一种基于PSIM软件实现的三相维也纳(VIENNA)整流器仿真模型,重点实现了电压电流双闭环控制与中点电位平衡的SVPWM调制策略。该仿真系统通过精确的控制算法有效提升了整流器的功率因数,降低了输入电流谐波含量,并解决了三电平拓扑中常见的直流侧中点电位偏移问题,具有较高的工程实用价值,适用于高效率、高功率密度的电力电子系统设计与科研验证。文档还整合了丰富的配套资源,涵盖多种电力电子变换器拓扑结构、先进控制算法及典型应用场景,形成了系统化的技术资料体系,有助于深入理解现代整流技术的核心原理与发展动态。; 适合人群:面向从事电力电子、电气工程、新能源变换系统等领域的科研人员、高校研究生以及具备一定仿真基础的工程技术人员。; 使用场景及目标:①深入研究三相VIENNA整流器的工作机理与控制特性;②掌握电压外环、电流内环双闭环控制结构的设计方法;③理解并实现SVPWM调制技术与中点电位平衡控制策略的协同作用;④开展相关控制算法的仿真验证、性能优化与实验对比,为高性能整流装置的研发提供理论支撑和技术原型。; 阅读建议:建议结合文中列出的其他仿真案例(如PWM整流器、LLC谐振变换器、DAB变换器等)进行横向对比学习,充分利用所提供的PSIM、MATLAB/Simulink等多平台仿真资源,重点关注控制逻辑与主电路的耦合关系,通过参数调试与波形分析深化对系统动态响应和稳态性能的理解,强化“理论—建模—仿真—优化”的闭环研究能力。

产业园区运营负责人如何利用数智工具提升园区企业的技术对接效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

jp-host-release.apk

jp-host-release.apk

ICD10 openGauss版

ICD10 openGauss版

上一篇: 为什么90%的MCP PL-600系统遭用户抵制?,深度剖析UX失败根源与破局之道
下一篇: 仅限本周!获取AZ-500备份恢复实验环境搭建秘籍
SimTrans
博客等级 码龄1年 158粉丝 2004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值