共用方式為


開始使用 Azure Blob 儲存體和 Go

本文說明如何使用適用於 Go 的 Azure Blob 儲存體用戶端模組來連線至 Azure Blob 儲存體。 連線之後,您的程式碼就可以在 Blob 儲存體服務的容器、Blob 和功能上運作。

API 參考文件 | 程式庫原始程式碼 | 套件 (pkg.go.dev)

必要條件

設定您的專案

本節會引導您準備專案以搭配使用適用於 Go 的 Azure Blob 儲存體用戶端模組。

從您的 GOPATH,使用下列命令安裝 azblob 模組:

go get github.com/Azure/azure-sdk-for-go/sdk/storage/azblob

若要使用 Microsoft Entra ID 進行驗證 (建議使用),請使用下列命令安裝 azidentity 模組:

go get github.com/Azure/azure-sdk-for-go/sdk/azidentity

然後開啟程式碼檔案,並新增必要的匯入路徑。 在此範例中,我們會將下列內容新增至 go 檔案:

import (
    "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
    "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)

Blob 用戶端模組資訊:

  • azblob:包含可用來在服務、容器和 Blob 上操作的方法。

授權存取權並連線到 Blob 儲存體

若要將應用程式連線至 Blob 記憶體,請使用 azblob.NewClient 建立用戶端物件。 此物件是您與儲存體帳戶層級的資料資源互動的起點。 您可以使用它來操作儲存體帳戶及其容器。

若要深入了解如何建立和管理客戶端物件,包括最佳做法,請參閱 建立和管理與資料資源互動的客戶端物件

您可以使用 Microsoft Entra 授權權杖 (建議)、帳戶存取密鑰或共用存取簽章 (SAS) 來授權用戶端物件。

若要使用 Microsoft Entra ID 進行授權,您必須使用 安全性主體。 下列文章提供不同驗證案例的指導:

使用 DefaultAzureCredential 授權存取

授權存取權並連線到 Blob 儲存體簡單又安全的方式,是藉由建立 DefaultAzureCredential 執行個體來取得 OAuth 權杖。 然後,您可以使用該認證,使用 azblob.NewClient 建立用戶端物件。

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
}

建置您的 應用程式

當您建置應用程式以在 Azure Blob 儲存體中使用資料資源時,您的程式碼主要會與三種資源類型互動: 儲存體帳戶、容器和 Blob。 若要深入了解這些資源類型、彼此的關係,以及應用程式如何與資源互動,請參閱了解應用程式如何與 Blob 儲存體資料資源互動

下列指南會示範如何使用資料資源,並使用適用於 Go 的 Azure Blob 儲存體用戶端模組來執行特定動作:

指南 描述
建立容器 建立容器。
刪除和還原容器 刪除容器和 (如果已啟用虛刪除) 還原已刪除的容器。
列出容器 列出帳戶中的容器,以及可用來自訂清單的各種選項。
管理屬性和中繼資料 (容器) 管理容器屬性和中繼資料。
上傳 Blob 了解如何使用字串、串流、檔案路徑和其他方法來上傳 Blob。
下載 Blob 使用字串、串流和檔案路徑來下載 Blob。
列出 Blob 以各種方式列出 Blob。
刪除和還原 Blob 刪除 Blob 和 (如果已啟用虛刪除) 還原已刪除的 Blob。
使用標籤來尋找 Blob 設定和擷取標籤,以及使用標籤來尋找 Blob。
管理屬性和中繼資料 (Blob) 管理容器屬性和中繼資料。

注意

本指南中的程式碼範例旨在協助您開始使用 Azure Blob 儲存體和 Go。 您應該修改錯誤處理和 Context 值,以符合您應用程式的需求。