Переменные AzureClientFactory BlobServiceClientC#

Место общения программистов C#
Ответить
Anonymous
 Переменные AzureClientFactory BlobServiceClient

Сообщение Anonymous »

Мне не удалось найти полный рабочий пример загрузки файла в Azure Blob с помощью .NET Core, поэтому меня смутили различные фрагменты, которые я видел. Вот как выглядит мой код:
Мои секреты:

Код: Выделить всё

{
"ConnectionStrings:DatabaseConnection": Server=tcp:xxx.database.windows.net;Authentication=Active Directory Default;Initial Catalog=xxxdatabase;",
"StorageConnection:blobServiceUri": "https://xxxxxxxx.blob.core.windows.net/",
"StorageConnection:queueServiceUri": "https://xxxxxxxx.queue.core.windows.net/",
"StorageConnection:tableServiceUri": "https://xxxxxxxx.table.core.windows.net/"
У меня есть стандартный AzureClientFactoryBuilderExtensions.cs, который VS создает, когда вы добавляете хранилище Azure к подключенным службам.
У меня есть клиентская служба Azure в Program.cs:

Код: Выделить всё

builder.Services.AddAzureClients(clientBuilder =>
{
clientBuilder.AddBlobServiceClient(builder.Configuration["StorageConnection:blobServiceUri"]!).WithName("StorageConnection");
clientBuilder.AddQueueServiceClient(builder.Configuration["StorageConnection:queueServiceUri"]!).WithName("StorageConnection");
clientBuilder.AddTableServiceClient(builder.Configuration["StorageConnection:tableServiceUri"]!).WithName("StorageConnection");
});
В контроллере у меня:

Код: Выделить всё

private readonly IAzureClientFactory _blobClientFactory;

Код: Выделить всё

public ClientDocumentsController(FileUploadContext context, IAzureClientFactory blobClientFactory)
{
_context = context;
_blobClientFactory = blobClientFactory;
}
Тогда в задаче у меня есть:

Код: Выделить всё

BlobServiceClient blobServiceClient = _blobClientFactory.CreateClient("ClientName??");
var containerClient = blobServiceClient.GetBlobContainerClient("myContainer");
var valueContainer = await containerClient.CreateIfNotExistsAsync();
var blobClient = containerClient.GetBlobClient(file.FileName);
var valueUpload = await blobClient.UploadAsync(file.OpenReadStream());
Насколько я понимаю, я бы заменил myContainer реальным именем контейнера Azure. А в CreateClient чем заменить ClientName?? с?
Если я ввожу случайное имя, я получаю эту ошибку: «System.InvalidOperationException: 'Невозможно найти регистрацию клиента с типом 'BlobServiceClient' и именем 'RandomName'». Я попробовал большой двоичный объект и имя контейнера.
Любая помощь приветствуется. Включая ссылку на любой репозиторий Microsoft или другой репозиторий с рабочим примером, использующим AzureClientFactoryBuilderExtensions.
Спасибо!
P.S. Нам нужен тег Azure-Client-Factory.

Подробнее здесь: https://stackoverflow.com/questions/798 ... -variables
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»