@@ -115,8 +115,14 @@ private static void AddStorage(ContainerBuilder containerBuilder)
115115 {
116116 var statusStorageConnectionBuilders = new StatusStorageConnectionBuilder [ ]
117117 {
118- new StatusStorageConnectionBuilder ( PrimaryStorageAccountName , configuration => configuration . StorageAccount ) ,
119- new StatusStorageConnectionBuilder ( SecondaryStorageAccountName , configuration => configuration . StorageAccountSecondary )
118+ new StatusStorageConnectionBuilder (
119+ PrimaryStorageAccountName ,
120+ configuration => configuration . PrimaryStorageBlobEndpoint ,
121+ configuration => configuration . PrimaryStorageTableEndpoint ) ,
122+ new StatusStorageConnectionBuilder (
123+ SecondaryStorageAccountName ,
124+ configuration => configuration . SecondaryStorageBlobEndpoint ,
125+ configuration => configuration . SecondaryStorageTableEndpoint )
120126 } ;
121127
122128 // Add all storages to the container by name.
@@ -165,35 +171,31 @@ private static void AddStorage(ContainerBuilder containerBuilder)
165171 }
166172 }
167173
168- private static string GetConnectionString ( IComponentContext ctx , StatusStorageConnectionBuilder statusStorageConnectionBuilder )
169- {
170- var configuration = ctx . Resolve < StatusAggregatorConfiguration > ( ) ;
171- var connectionString = statusStorageConnectionBuilder . GetConnectionString ( configuration ) ;
172-
173- // workaround for https://github.com/Azure/azure-sdk-for-net/issues/44373
174- connectionString = connectionString . Replace ( "SharedAccessSignature=?" , "SharedAccessSignature=" ) ;
175- return connectionString ;
176- }
177-
178174 private static TableServiceClient GetTableServiceClient ( IComponentContext ctx , StatusStorageConnectionBuilder statusStorageConnectionBuilder )
179175 {
180- string connectionString = GetConnectionString ( ctx , statusStorageConnectionBuilder ) ;
181- return new TableServiceClient ( connectionString ) ;
176+ StorageMsiConfiguration storageMsiConfiguration = ctx . Resolve < IOptionsSnapshot < StorageMsiConfiguration > > ( ) . Value ;
177+ StatusAggregatorConfiguration configuration = ctx . Resolve < IOptionsSnapshot < StatusAggregatorConfiguration > > ( ) . Value ;
178+ string connectionString = statusStorageConnectionBuilder . GetTableConnectionString ( configuration ) ;
179+
180+ return StorageAccountHelper . CreateTableServiceClient ( storageMsiConfiguration , connectionString ) ;
182181 }
183182
184- private static ITableWrapper GetTableWrapper ( IComponentContext ctx , TableServiceClient tableServiceClient )
183+ private static TableWrapper GetTableWrapper ( IComponentContext ctx , TableServiceClient tableServiceClient )
185184 {
186185 var configuration = ctx . Resolve < StatusAggregatorConfiguration > ( ) ;
187186 return new TableWrapper ( tableServiceClient , configuration . TableName ) ;
188187 }
189188
190189 private static BlobServiceClient GetBlobServiceClient ( IComponentContext ctx , StatusStorageConnectionBuilder statusStorageConnectionBuilder )
191190 {
192- string connectionString = GetConnectionString ( ctx , statusStorageConnectionBuilder ) ;
193- return new BlobServiceClient ( connectionString ) ;
191+ StorageMsiConfiguration storageMsiConfiguration = ctx . Resolve < IOptionsSnapshot < StorageMsiConfiguration > > ( ) . Value ;
192+ StatusAggregatorConfiguration configuration = ctx . Resolve < IOptionsSnapshot < StatusAggregatorConfiguration > > ( ) . Value ;
193+ string connectionString = statusStorageConnectionBuilder . GetBlobConnectionString ( configuration ) ;
194+
195+ return StorageAccountHelper . CreateBlobServiceClient ( storageMsiConfiguration , connectionString ) ;
194196 }
195197
196- private static IContainerWrapper GetContainerWrapper ( IComponentContext ctx , BlobServiceClient blobServiceClient )
198+ private static ContainerWrapper GetContainerWrapper ( IComponentContext ctx , BlobServiceClient blobServiceClient )
197199 {
198200 var configuration = ctx . Resolve < StatusAggregatorConfiguration > ( ) ;
199201 var container = blobServiceClient . GetBlobContainerClient ( configuration . ContainerName ) ;
0 commit comments