如何通过编程方式创建Azure Relay混合连接?
编程创建Azure Relay混合连接
前置准备
- 安装Relay管理SDK:
Install-Package Azure.ResourceManager.Relay - 确保你的Azure账号拥有Relay Contributor或更高权限的角色
- 本地开发环境已通过Azure CLI登录,或准备好Azure AD服务主体的客户端ID、租户ID、客户端密钥(生产环境推荐)
代码实现(C#)
以下示例使用Azure最新的Azure.ResourceManager.Relay SDK完成混合连接的创建,假设你已经存在一个Relay命名空间:
using Azure; using Azure.Core; using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Relay; using Azure.ResourceManager.Relay.Models; // 1. 初始化认证凭据 // 本地开发用DefaultAzureCredential自动获取CLI/VS的登录信息 TokenCredential credential = new DefaultAzureCredential(); ArmClient armClient = new ArmClient(credential); // 2. 定位到目标Relay命名空间 string subscriptionId = "你的订阅ID"; string resourceGroupName = "你的资源组名称"; string namespaceName = "你的Relay命名空间名称"; ResourceIdentifier namespaceId = RelayNamespaceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, namespaceName); RelayNamespaceResource relayNamespace = armClient.GetRelayNamespaceResource(namespaceId); // 3. 定义混合连接参数 string hybridConnectionName = "你的混合连接名称"; HybridConnectionData hybridConnectionData = new HybridConnectionData { Properties = new HybridConnectionProperties { RequiresClientAuthorization = true, // 是否要求客户端授权 UserMetadata = "自定义元数据,比如连接描述" } }; // 4. 创建混合连接 ArmOperation<HybridConnectionResource> operation = await relayNamespace.GetHybridConnections().CreateOrUpdateAsync(WaitUntil.Completed, hybridConnectionName, hybridConnectionData); HybridConnectionResource createdHybridConnection = operation.Value; // 输出创建结果 Console.WriteLine($"混合连接已创建:{createdHybridConnection.Id}");
额外说明
- 如果需要先创建Relay命名空间,可以调用
relayNamespaceCollection.CreateOrUpdateAsync方法,参数参考RelayNamespaceData类 - 混合连接名称需符合Azure命名规则:长度1-50字符,允许字母、数字、连字符,不能以连字符开头或结尾
RequiresClientAuthorization设为true时,客户端需要使用SAS令牌或Azure AD身份验证才能连接
内容的提问来源于stack exchange,提问作者Suneet Bansal
相关产品推荐
相关产品推荐

