技能 Azure.Messaging.EventGrid (.NET)
📦

Azure.Messaging.EventGrid (.NET)

安全

使用 Azure Event Grid .NET SDK 构建事件驱动型应用

事件驱动型架构需要可靠的发布/订阅消息传递。此技能可帮助您使用 Azure Event Grid 进行事件发布和订阅,并提供适当的身份验证、错误处理和最佳实践。

支持: Claude Codex Code(CC)
🥉 73 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“Azure.Messaging.EventGrid (.NET)”。 发布包含订单详情的 Order.Created 事件

预期结果:

  • 使用 Azure AD 凭据创建 EventGridPublisherClient
  • 构建主题为 'orders/12345' 的 EventGridEvent
  • 成功将事件发送到主题端点
  • 事件 ID:evt_abc123,状态:200 OK

正在使用“Azure.Messaging.EventGrid (.NET)”。 从命名空间订阅接收和处理事件

预期结果:

  • 从订阅接收到 5 个事件
  • 成功处理 4 个事件 - 已确认
  • 1 个事件处理失败 - 已重试以供重试
  • 跟踪锁定令牌以确认生命周期

安全审计

安全
v1 • 2/24/2026

Documentation-only skill with no executable code. Static analysis scanned 0 files with risk score 0/100. All code examples demonstrate standard Azure SDK usage patterns for Event Grid topics, domains, and namespaces.

0
已扫描文件
0
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
83
规范符合性

你能构建什么

电子商务订单处理

将订单事件(已创建、已更新、已发货)发布到 Event Grid,供库存、运输和分析服务进行下游处理。

物联网设备事件流

通过 Event Grid 命名空间传输设备遥测和状态事件,使用拉取传递进行可靠处理。

云原生应用集成

使用 CloudEvents 标准实现 Azure 和非 Azure 服务之间的跨平台事件互操作性。

试试这些提示

发布单个事件
展示如何使用 .NET 和 Azure AD 身份验证向 Azure Event Grid 发布单个 CloudEvent。
批量事件发布
生成代码以批量发布多个 EventGridEvent 对象,并包含自定义 JSON 序列化和错误处理。
拉取传递接收器
创建一个完整的拉取传递接收器,使用 EventGridReceiverClient 确认成功的事件并重试失败的事件。
Azure Functions 事件触发器
构建一个 Azure Functions v4 独立工作进程,用于处理 EventGridEvent 和 CloudEvent 触发器,并包含适当的日志记录和异常处理。

最佳实践

  • 使用 CloudEvents 模式进行新实现,以确保跨平台互操作性
  • 生产工作负载优先使用 Azure AD 身份验证而非访问密钥
  • 实现幂等事件处理器,因为 Event Grid 可能会多次传递事件

避免

  • 不要在源代码中硬编码访问密钥 - 使用 Azure Key Vault 或托管标识
  • 避免发送大于 1MB 的事件 - 将大型负载拆分为多个事件
  • 不要忽略部分批量失败 - 单独处理每个事件确认

常见问题

EventGridEvent 和 CloudEvent 有什么区别?
EventGridEvent 是 Azure 的本机模式,包含必需字段(subject、eventType、dataVersion、data)。CloudEvent 遵循 CNCF 标准,具有 source 和 type 字段,提供更好的跨平台互操作性和扩展属性。
如何对 Azure Event Grid 进行身份验证?
生产环境使用 Azure AD(推荐)配合 DefaultAzureCredential。API 密钥适用于开发。SAS 令牌提供限时访问。托管标识是 Azure 托管应用的首选。
什么是拉取传递?什么时候应该使用它?
拉取传递使用 Event Grid 命名空间,接收器使用 EventGridReceiverClient 主动获取事件。当您需要显式控制消息确认、重试逻辑或处理吞吐量时使用它。
如何处理失败的事件?
对于命名空间,成功时使用 AcknowledgeAsync,重试时使用 ReleaseAsync,或使用 RejectAsync 发送到死信队列。对于推送传递,请在事件订阅中配置重试策略和死信目标。
我可以在一次调用中将事件发送到多个主题吗?
对于 Event Grid 域,是的 - 在每个 EventGridEvent 上包含 Topic 属性以进行域路由。对于单个主题,批处理中的所有事件都发送到同一主题端点。
事件大小限制是多少?
每个事件最大 1MB,每个批处理总计 1MB。对于更大的负载,将数据存储在 Azure Storage 中,并在事件数据字段中包含引用 URL。

开发者详情

文件结构

📄 SKILL.md