Blobtároló létrehozása a Go használatával
Ez a cikk bemutatja, hogyan hozhat létre tárolókat a Go-hoz készült Azure Storage-ügyfélmodullal. Az Azure Storage-blobok tárolókba vannak rendezve. Mielőtt feltölthet egy blobot, először létre kell hoznia egy tárolót.
Előfeltételek
- Azure-előfizetés – hozzon létre egyet ingyenesen
- Azure Storage-fiók – tárfiók létrehozása
- Go 1.18+
Saját környezet beállítása
Ha nem rendelkezik meglévő projekttel, ez a szakasz bemutatja, hogyan állíthat be egy projektet a Go Azure Blob Storage-ügyfélmoduljának használatára. A lépések közé tartozik a modul telepítése, az elérési utak hozzáadása import
és egy engedélyezett ügyfélobjektum létrehozása. További részletekért tekintse meg az Azure Blob Storage és a Go használatának első lépéseit.
Modulok telepítése
Telepítse az azblob modult a következő paranccsal:
go get github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
A Microsoft Entra-azonosítóval való hitelesítéshez (ajánlott) telepítse a azidentity
modult a következő paranccsal:
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
Importálási útvonalak hozzáadása
A kódfájlban adja hozzá a következő importálási útvonalakat:
import (
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
)
Ezek az importálási útvonalak az első lépésekhez szükséges minimumot jelölik. A cikkben szereplő néhány példakód további importálási útvonalakat igényelhet. További részletekért és példahasználatért tekintse meg a kódmintákat.
Ügyfélobjektum létrehozása
Ha egy alkalmazást a Blob Storage-hoz szeretne csatlakoztatni, hozzon létre egy ügyfélobjektumot az azblob használatával . NewClient. Az alábbi példa bemutatja, hogyan hozhat létre ügyfélobjektumot DefaultAzureCredential
engedélyezés céljából:
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
}
Engedélyezés
Az engedélyezési mechanizmusnak rendelkeznie kell a tároló létrehozásához szükséges engedélyekkel. A Microsoft Entra-azonosítóval való engedélyezéshez (ajánlott) az Azure RBAC beépített szerepkörű Storage Blob Data Közreműködő vagy újabb szerepkörre van szüksége. További információkért tekintse meg a Tároló létrehozása (REST API) engedélyezési útmutatóját.
Tudnivalók a tároló elnevezéséről
A tárolónévnek érvényes DNS-névnek kell lennie, mivel a tároló vagy a blobok kezeléséhez használt egyedi URI részét képezi. Tároló elnevezésekor kövesse az alábbi szabályokat:
- A tárolónevek hossza 3 és 63 karakter között lehet.
- A tárolóneveknek betűvel vagy számmal kell kezdődniük, és csak kisbetűket, számokat és kötőjelet (-) tartalmazhatnak.
- Az egymást követő kötőjelek nem használhatók a tárolónevekben.
A tárolóerőforrás URI-ja a következőképpen van formázva:
https://my-account-name.blob.core.windows.net/my-container-name
Tároló létrehozása
Tároló létrehozásához hívja meg a következő metódust:
A tárolók közvetlenül a tárfiók alatt jönnek létre. Az egyik tárolót nem lehet egymás alá ágyazni. Kivétel akkor keletkezik, ha már létezik ilyen nevű tároló.
Az alábbi példa bemutatja, hogyan hozhat létre tárolót:
func createContainer(client *azblob.Client, containerName string) {
// Create a container
_, err := client.CreateContainer(context.TODO(), containerName, nil)
handleError(err)
}
A gyökértároló létrehozása
A gyökértároló a tárfiók alapértelmezett tárolójaként szolgál. Minden tárfiók rendelkezhet egy gyökértárolóval, amelyet el kell nevezni $root. A gyökértárolót explicit módon kell létrehozni vagy törölni.
A gyökértárolóban tárolt blobra a gyökértároló neve nélkül hivatkozhat. A gyökértárolóval hivatkozhat egy blobra a tárfiók-hierarchia legfelső szintjén. Hivatkozhat például egy blobra a gyökértárolóban az alábbiak szerint:
https://<storage-account-name>.blob.core.windows.net/default.html
Az alábbi példa létrehozza a tárolót, ha még nem létezik a tárfiókban:
func createRootContainer(client *azblob.Client) {
// Create root container
_, err := client.CreateContainer(context.TODO(), "$root", nil)
handleError(err)
}
Feljegyzés
Az útmutatóban szereplő kódminták az Azure Blob Storage és a Go használatának megkezdéséhez nyújtanak segítséget. Az alkalmazás igényeinek megfelelően módosítania kell a hibakezelést és Context
az értékeket.
Források
A tárolók Go-hoz készült Azure Blob Storage-ügyfélmodullal történő létrehozásáról az alábbi forrásokból tudhat meg többet.
Kódminták
- Kódminták megtekintése ebből a cikkből (GitHub)
REST API-műveletek
Az Azure SDK for Go olyan kódtárakat tartalmaz, amelyek az Azure REST API-ra épülnek, lehetővé téve a REST API-műveletek használatát ismert Go-paradigmákon keresztül. A tároló létrehozásához használt ügyfélkódtár-metódusok a következő REST API-műveletet használják:
- Tároló létrehozása (REST API)
Ügyfélmodul erőforrásai
Kapcsolódó tartalom
- Ez a cikk a Blob Storage Go-hoz készült fejlesztői útmutatójának része. További információkért tekintse meg a Go-alkalmazás buildeléséhez kapcsolódó fejlesztői útmutatók teljes listáját.