Azure.Messaging.EventGrid.Namespaces 1.0.0
前缀已保留
dotnet add package Azure.Messaging.EventGrid.Namespaces --version 1.0.0
NuGet\Install-Package Azure.Messaging.EventGrid.Namespaces -Version 1.0.0
<PackageReference Include="Azure.Messaging.EventGrid.Namespaces" Version="1.0.0" />
paket add Azure.Messaging.EventGrid.Namespaces --version 1.0.0
#r "nuget: Azure.Messaging.EventGrid.Namespaces, 1.0.0"
// Install Azure.Messaging.EventGrid.Namespaces as a Cake Addin #addin nuget:?package=Azure.Messaging.EventGrid.Namespaces&version=1.0.0 // Install Azure.Messaging.EventGrid.Namespaces as a Cake Tool #tool nuget:?package=Azure.Messaging.EventGrid.Namespaces&version=1.0.0
Azure 事件网格 .NET 客户端库
Azure 事件网格允许您轻松构建基于事件的架构的应用程序。事件网格服务完全管理所有事件的 routing,无论是从任何来源到任何目的地,还是为任何应用程序。Azure 服务事件和自定义事件可以直接发布到服务,在那里事件可以被过滤并发送到各种接收者,例如内置处理程序或自定义 webhooks。要了解更多关于 Azure 事件网格的信息:什么是 Event Grid?
使用 Azure 事件网格客户端库进行以下操作:
使用 Cloud Event 架构将事件发布到事件网格主题
消费和解决事件
源代码 | 软件包(NuGet) | API 参考文档 | 产品文档 | 示例
开始使用
安装软件包
使用 NuGet 安装 .NET 客户端库
dotnet add package Azure.Messaging.EventGrid.Namespaces
先决条件
您必须有一个 Azure 订阅 以及一个包含自定义事件网格主题或域的 Azure 资源组。按照此 分步教程 注册事件网格资源提供程序并使用 Azure 门户 创建事件网格主题。还有一个使用 Azure CLI 的类似教程。
验证客户端凭证
为了使客户端库能与主题或域交互,您需要事件网格主题的 endpoint
和一个 credential
,可以使用主题的访问密钥创建。
您可以在 Azure 门户 中找到您的事件网格主题的端点,或者使用以下 Azure CLI 查询。
az eventgrid topic show --name <your-resource-name> --resource-group <your-resource-group-name> --query "endpoint"
访问密钥也可以在 门户 中或使用以下 Azure CLI 查询找到。
az eventgrid topic key list --name <your-resource-name> --resource-group <your-resource-group-name> --query "key1"
使用主题访问密钥进行验证
一旦您有了访问密钥和主题端点,您可以按以下方式创建发布者客户端
// Construct the client using an Endpoint for a namespace as well as the shared access key
var senderClient = new EventGridSenderClient(new Uri(namespaceTopicHost), topicName, new AzureKeyCredential(namespaceKey));
使用 Entra ID 进行验证
Azure 事件网格提供与 Entra ID 的集成,用于基于身份的请求验证。使用 Entra ID,您可以利用基于角色的访问控制 (RBAC) 授予用户、组或应用程序对 Azure 事件网格资源的访问权限。Azure Identity 库提供对身份验证的简单 Azure ActiveDirectory 支持。
要使用 Azure Active Directory 向主题或域发送事件,已验证的身份必须具有“EventGrid 数据发送者”角色。
// Construct the sender client using an Endpoint for a namespace as well as the DefaultAzureCredential
var senderClient = new EventGridSenderClient(new Uri(namespaceTopicHost), topicName, new DefaultAzureCredential());
关键概念
线程安全
我们保证所有客户端实例方法都是线程安全的,并且彼此独立(《线程安全指南》)。这确保了即使在跨线程的情况下重用客户端实例的建议也是安全的。
其他概念
客户端选项 | 访问响应 | 长运行操作 | 处理失败 | 诊断 | 模拟 | 客户端生命周期
示例
您可以通过示例熟悉不同的API。
故障排除
描述常见错误和异常,如果需要,如何“解包”它们,并包含优雅处理和恢复的指南。
提供信息以帮助开发者避免可能遇到的服务限制或其他强制错误。例如,提供使用API中的重试或连接策略的指导和示例。
如果包或相关包支持,包含日志记录或启用仪表化的技巧,以帮助他们调试代码。
下一步操作
在这里查看Event Grid客户端库的常见用法https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/eventgrid/Azure.Messaging.EventGrid.Namespaces/samples: Event Grid 示例。
贡献
该项目欢迎贡献和建议。大多数贡献需要您同意一份贡献者许可协议(CLA),声明您有权利,并且确实授予我们使用您的贡献的权利。有关详细信息,请访问贡献者许可协议。
当您提交pull请求时,CLA机器人会自动确定您是否需要提供CLA,并适当装饰PR(例如,标记、注释)。只需遵循机器人提供的说明。您只需在整个使用我们的CLA的仓库中进行一次此操作。
本项目采纳了微软开源行为准则。如需更多信息,请参阅行为准则常见问题解答或通过[email protected]联系以获得任何额外的疑问或评论。
产品 | 版本 兼容和附加计算的目标框架版本。 |
---|---|
.NET | net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET Standard | netstandard2.0 兼容。 netstandard2.1 已计算。 |
.NET 框架 | net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- Azure.Core (>= 1.40.0)
- System.Text.Json (>= 4.7.2)
NuGet 包
此包未被任何 NuGet 包使用。
GitHub 仓库
此包未被任何流行的 GitHub 仓库使用。
版本 | 下载 | 最后更新 |
---|---|---|
1.0.0 | 3,696 | 6/13/2024 |
1.0.0-beta.1 | 4,119 | 4/11/2024 |