创建Azure存储账户Private Endpoint连接时报ResourceNotFound错误
问题根因
- 缺少虚拟网络侧的*
PrivateEndpoint核心资源*创建逻辑:azure-native:storage:PrivateEndpointConnection是存储账户侧的附属资源,仅用于管理已有私有端点与存储的连接状态,无法独立完成私有端点的全链路部署。 - 现有
PrivateEndpointConnection声明缺少必填参数PrivateEndpointId:没有指定要关联的私有端点资源ID,导致Azure无法定位对应连接对象,返回404错误。
解决方案
删除原有单独声明的PrivateEndpointConnection代码,新增虚拟网络侧的私有端点资源即可自动完成全链路配置,示例代码如下:
// 原有代码保持不变,新增以下私有端点定义 var storagePrivateEndpoint = new Pulumi.AzureNative.Network.PrivateEndpoint("storage-private-endpoint", new() { ResourceGroupName = resourceGroup.Name, Location = resourceGroup.Location, Subnet = new Pulumi.AzureNative.Network.Inputs.SubnetArgs { Id = privateEndpointSubnet.Id }, PrivateLinkServiceConnections = new[] { new Pulumi.AzureNative.Network.Inputs.PrivateLinkServiceConnectionArgs { Name = "storage-link-connection", PrivateLinkServiceId = storageAccount.Id, GroupIds = new[] { "blob" }, // 按需替换为file/table/queue等存储服务类型 PrivateLinkServiceConnectionState = new Pulumi.AzureNative.Network.Inputs.PrivateLinkServiceConnectionStateArgs { Status = "Approved", Description = "Auto-Approved", ActionRequired = "None" } } } });
补充说明
如果有独立管理存储侧连接审批的需求,需要先创建PrivateEndpoint资源,再通过关联其ID创建PrivateEndpointConnection:
var privateEndpointConnection = new PrivateEndpointConnection("privateEndpointConnection", new PrivateEndpointConnectionArgs { AccountName = storageAccount.Name, ResourceGroupName = resourceGroup.Name, PrivateEndpointId = storagePrivateEndpoint.Id, // 必须指定已创建的私有端点ID PrivateLinkServiceConnectionState = new PrivateLinkServiceConnectionStateArgs { Description = "Auto-Approved", Status = "Approved", ActionRequired = "None" }, });
内容的提问来源于stack exchange,提问作者Rob
相关产品推荐
相关产品推荐

