開始使用 Azure Blob 儲存體和 Go
本文說明如何使用適用於 Go 的 Azure Blob 儲存體用戶端模組來連線至 Azure Blob 儲存體。 線上之後,請使用 開發人員指南 來瞭解如何在 Blob 記憶體服務的容器、Blob 和功能上運作程式碼。
如果您想要從完整的範例開始,請參閱快速入門:Azure Blob 儲存體 適用於 Go 的用戶端連結庫。
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) | 管理容器屬性和中繼資料。 |
管理屬性和中繼資料 (容器) | 管理容器屬性和中繼資料。 |
上傳 Blob | 了解如何使用字串、串流、檔案路徑和其他方法來上傳 Blob。 |
注意
本指南中的程式碼範例旨在協助您開始使用 Azure Blob 儲存體和 Go。 您應該修改錯誤處理和 Context
值,以符合您應用程式的需求。