Erstellen eines Clientobjekts
Die Arbeit mit einer beliebigen Azure-Ressource mit dem SDK beginnt mit dem Erstellen eines Clientobjekts. In diesem Abschnitt erfahren Sie, wie Sie Clientobjekte erstellen, um mit den drei Arten von Ressourcen im Speicherdienst zu interagieren: Speicherkonten, Container und Blobs.
Wenn Ihre Anwendung ein Clientobjekt erstellt, übergeben Sie einen URI, der auf den Endpunkt verweist, an den Clientkonstruktor. Sie können die Endpunktzeichenfolge manuell erstellen, wie in den Beispielen in diesem Artikel gezeigt, oder Sie können den Endpunkt zur Laufzeit mithilfe der Azure Storage-Verwaltungsbibliothek abfragen.
Die Codebeispiele in dieser Lerneinheit verwenden DefaultAzureCredential, um sich über einen Microsoft Entra-Sicherheitsprinzipal bei Azure zu authentifizieren. Der Authentifizierungsprozess umfasst das Abrufen eines Zugriffstokens für die Autorisierung. Dieses Zugriffstoken wird als Anmeldeinformationen übergeben, wenn der Client instanziiert wird und die Anmeldeinformationen während der gesamten Clientlebensdauer beibehalten werden. Dem Microsoft Entra-Sicherheitsprinzipal, der das Token anfordert, muss eine entsprechende Azure RBAC-Rolle zugewiesen werden, die Zugriff auf Blobdaten gewährt.
Erstellen eines BlobServiceClient-Objekts
Ein autorisiertes BlobServiceClient-Objekt ermöglicht Ihrer App die Interaktion mit Ressourcen auf Speicherkontoebene.
BlobServiceClient bietet Methoden zum Abrufen und Konfigurieren von Kontoeigenschaften sowie zum Auflisten, Erstellen und Löschen von Containern innerhalb des Speicherkontos. Dieses Clientobjekt ist der Ausgangspunkt für die Interaktion mit Ressourcen im Speicherkonto.
Das folgende Beispiel zeigt, wie sie ein BlobServiceClient-Objekt erstellen:
using Azure.Identity;
using Azure.Storage.Blobs;
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
Erstellen eines BlobContainerClient-Objekts
Sie können ein BlobServiceClient-Objekt verwenden, um ein neues BlobContainerClient-Objekt zu erstellen. Mit einem BlobContainerClient-Objekt können Sie mit einer bestimmten Containerressource interagieren.
BlobContainerClient stellt Methoden zum Erstellen, Löschen oder Konfigurieren eines Containers bereit und umfasst Methoden zum Auflisten, Hochladen und Löschen der darin enthaltenen Blobs.
Das folgende Beispiel zeigt, wie Sie einen Containerclient aus einem BlobServiceClient-Objekt erstellen, um mit einer bestimmten Containerressource zu interagieren:
public BlobContainerClient GetBlobContainerClient(
BlobServiceClient blobServiceClient,
string containerName)
{
// Create the container client using the service client object
BlobContainerClient client = blobServiceClient.GetBlobContainerClient(containerName);
return client;
}
Wenn Ihre Arbeit eng auf einen einzelnen Container beschränkt ist, können Sie ein BlobContainerClient-Objekt direkt erstellen, ohne BlobServiceClientzu verwenden.
public BlobContainerClient GetBlobContainerClient(
string accountName,
string containerName,
BlobClientOptions clientOptions)
{
// Append the container name to the end of the URI
BlobContainerClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net/{containerName}"),
new DefaultAzureCredential(),
clientOptions);
return client;
}
Erstellen eines BlobClient-Objekts
Um mit einer bestimmten Blob-Ressource zu interagieren, erstellen Sie ein BlobClient-Objekt aus einem Dienstclient oder Containerclient. Mit einem BlobClient-Objekt können Sie mit einer bestimmten BLOB-Ressource interagieren.
Das folgende Beispiel zeigt, wie Sie einen BLOB-Client für die Interaktion mit einer bestimmten BLOB-Ressource erstellen:
public BlobClient GetBlobClient(
BlobServiceClient blobServiceClient,
string containerName,
string blobName)
{
BlobClient client =
blobServiceClient.GetBlobContainerClient(containerName).GetBlobClient(blobName);
return client;
}