Erste Schritte mit Azure Blob Storage und Go
In diesem Artikel erfahren Sie, wie Sie mithilfe des Azure Blob Storage-Clientmoduls für Go eine Verbindung mit Azure Blob Storage herstellen. Verwenden Sie nach der Verbindung die Entwicklerhandbücher, um zu erfahren, wie Ihr Code mit Containern, Blobs und Funktionen des Blob Storage-Diensts arbeiten kann.
Wenn Sie mit einem vollständigen Beispiel beginnen möchten, lesen Sie den Schnellstart: Azure Blob Storage-Clientbibliothek für Go.
API-Referenzdokumentation | Quellcode der Bibliothek | Paket (pkg.go.dev)
Voraussetzungen
- Azure-Abonnement – Erstellen eines kostenlosen Kontos
- Azure Storage-Konto – Erstellen eines Speicherkontos
- Go 1.18+
Einrichten des Projekts
In diesem Abschnitt wird beschrieben, wie ein Projekt zur Verwendung mit dem Azure Blob Storage-Clientmodul für Go vorbereitet wird.
Verwenden Sie in GOPATH den folgenden Befehl, um das Modul azblob zu installieren:
go get github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
Um sich mit Microsoft Entra ID zu authentifizieren (empfohlen), installieren Sie das azidentity
-Modul mit dem folgenden Befehl:
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
Öffnen Sie dann Ihre Codedatei, und fügen Sie die erforderlichen Importpfade hinzu. In diesem Beispiel fügen Sie Ihrer GO-Datei Folgendes hinzu:
import (
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
Informationen zum Blobclientmodul
- azblob: Enthält die Methoden, die Sie für den Betrieb des Diensts, der Container und der Blobs verwenden können.
Autorisieren des Zugriffs und Herstellen einer Verbindung mit Blob Storage
Um eine App mit Blob Storage zu verbinden, erstellen Sie ein Clientobjekt mithilfe von azblob.NewClient. Dieses Objekt ist Ihr Ausgangspunkt für die Interaktion mit Datenressourcen auf Speicherkontoebene. Sie können es verwenden, um das Speicherkonto und seine Container zu verwenden.
Weitere Informationen zum Erstellen und Verwalten von Clientobjekten finden Sie unter Erstellen und Verwalten von Clientobjekten, die mit Datenressourcen interagieren.
Sie können ein Clientobjekt mithilfe eines Microsoft Entra-Autorisierungstokens (empfohlen), eines Kontozugriffsschlüssels oder einer SAS (Shared Access Signature) autorisieren.
Um mit Microsoft Entra ID zu autorisieren, müssen Sie einen Sicherheitsprinzipal verwenden. Die folgenden Artikel enthalten Anleitungen zu verschiedenen Authentifizierungsszenarien:
- Authentifizierung in Entwicklungsumgebungen
- Authentifizierung der von Azure gehosteten Apps
- Authentifizierung anhand eines Dienstprinzipal
Autorisieren des Zugriffs mithilfe von DefaultAzureCredential
Eine einfache und sichere Möglichkeit zum Autorisieren des Zugriffs und zum Herstellen einer Verbindung mit Blob Storage ist das Abrufen eines OAuth-Tokens durch Erstellung einer DefaultAzureCredential-Instanz. Anschließend können Sie mithilfe dieser Anmeldeinformationen und azblob.NewClient das Clientobjekt erstellen.
func getServiceClientTokenCredential(accountURL string) *azblob.Client {
// Create a new service client with token credential
credential, err := azidentity.NewDefaultAzureCredential(nil)
handleError(err)
client, err := azblob.NewClient(accountURL, credential, nil)
handleError(err)
return client
}
Erstellen der App
Wenn Sie Apps für die Arbeit mit Datenressourcen in Azure Blob Storage erstellen, interagiert Ihr Code primär mit drei Ressourcentypen: Speicherkonten, Container und Blobs. Weitere Informationen zu diesen Ressourcentypen, deren Beziehung zueinander und zur Interaktion von Apps mit Ressourcen finden Sie unter Grundlegendes zur Interaktion von Apps mit Blob Storage-Datenressourcen.
In den folgenden Anleitungen wird gezeigt, wie Sie mit dem Azure Blob Storage-Clientmodul für Go auf Daten zugreifen und bestimmte Aktionen ausführen:
Handbuch | Beschreibung |
---|---|
Konfigurieren einer Wiederholungsrichtlinie | Implementieren Sie Wiederholungsrichtlinien für Clientvorgänge. |
Kopieren von Blobs | Kopieren Sie ein Blob von einem Speicherort an einen anderen. |
Container erstellen | Erstellen von Containern. |
Löschen und Wiederherstellen von Blobs | Löschen von Blobs und Wiederherstellen gelöschter Blobs, wenn das vorläufige Löschen aktiviert ist. |
Löschen und Wiederherstellen von Containern | Löschen von Containern und Wiederherstellen gelöschter Container, für die vorläufiges Löschen aktiviert ist. |
Herunterladen von Blobs | Herunterladen von Blobs mithilfe von Zeichenfolgen, Streams und Dateipfaden. |
Suchen von Blobs mithilfe von Tags | Festlegen und Abrufen von Tags sowie Verwenden von Tags für die Suche nach Blobs. |
Auflisten von Blobs | Auflisten von Blobs auf unterschiedliche Weise. |
Auflisten von Containern | Auflisten von Containern in einem Konto und der verschiedenen verfügbaren Optionen zum Anpassen einer Auflistung. |
Verwalten von Eigenschaften und Metadaten (Blobs) | Verwalten von Containereigenschaften und -metadaten |
Verwalten von Eigenschaften und Metadaten (Container) | Verwalten von Containereigenschaften und -metadaten |
Hochladen von Blobs | Erfahren Sie, wie Sie Blobs mithilfe von Zeichenfolgen, Streams, Dateipfaden und anderen Methoden hochladen. |
Hinweis
Die Codebeispiele in diesem Leitfaden sollen Ihnen bei den ersten Schritten mit Azure Blob Storage und Go helfen. Sie sollten die Fehlerbehandlung und Context
-Werte so ändern, dass sie den Anforderungen Ihrer Anwendung entsprechen.