AzureClientFactory BlobServiceClient-VariablenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 AzureClientFactory BlobServiceClient-Variablen

Post by Anonymous »

Ich konnte kein vollständig funktionierendes Beispiel für das Hochladen einer Datei in Azure Blob mit .NET Core finden, daher bin ich verwirrt über die verschiedenen Snippets, die ich gesehen habe. So sieht mein Code aus:
Meine Geheimnisse:

Code: Select all

{
"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/"
Ich habe die standardmäßige AzureClientFactoryBuilderExtensions.cs, die VS erstellt, wenn Sie Azure Storage zu den verbundenen Diensten hinzufügen.
Ich habe den Azure Client Service in Program.cs:

Code: Select all

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");
});
Im Controller habe ich:

Code: Select all

private readonly IAzureClientFactory _blobClientFactory;

Code: Select all

public ClientDocumentsController(FileUploadContext context, IAzureClientFactory blobClientFactory)
{
_context = context;
_blobClientFactory = blobClientFactory;
}
Dann habe ich in einer Aufgabe:

Code: Select all

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());
So wie ich es verstehe, würde ich myContainer durch den Namen des tatsächlichen Azure-Containers ersetzen. Aber womit ersetze ich in CreateClient ClientName? mit?
Wenn ich einen zufälligen Namen eingebe, erhalte ich diese Fehlermeldung: „System.InvalidOperationException: ‚Clientregistrierung mit Typ ‚BlobServiceClient‘ und Name ‚RandomName‘ konnte nicht gefunden werden.“ Ich habe den Blob und den Namen des Containers ausprobiert.
Jede Hilfe ist willkommen. Einschließlich eines Links zu einem beliebigen Microsoft- oder anderen Repo mit einem funktionierenden Beispiel, das AzureClientFactoryBuilderExtensions verwendet.
Vielen Dank!
P.S. Wir benötigen ein Azure-Client-Factory-Tag.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post