Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A blobtárolók támogatják a rendszertulajdonságokat és a felhasználó által definiált metaadatokat az általuk tárolt adatok mellett. Ez a cikk bemutatja, hogyan kezelheti a rendszertulajdonságokat és a felhasználó által definiált metaadatokat a Go-hoz készült Azure Storage-ügyfélmodullal.
Prerequisites
- 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
}
Authorization
Az engedélyezési mechanizmusnak rendelkeznie kell a tárolótulajdonságok vagy metaadatok használatához szükséges engedélyekkel. A Microsoft Entra-azonosítóval való engedélyezéshez (ajánlott) az Azure RBAC beépített Storage Blob Data Reader vagy magasabb szerepkörre van szüksége a adatok lekérése műveletekhez, míg a Storage Blob Data Contributor vagy magasabb szerepkörre van szükség a adatok beállítása műveletekhez. További információkért tekintse meg a Tároló tulajdonságainak lekérése (REST API), a Tároló metaadatainak beállítása (REST API) vagy a Tároló metaadatainak lekérése (REST API) engedélyezési útmutatóját.
Tudnivalók a tulajdonságokról és a metaadatokról
Rendszertulajdonságok: A rendszertulajdonságok minden Blob Storage-erőforráson léteznek. Ezek némelyike olvasható vagy beállítható, míg mások írásvédettek. A színfalak mögött egyes rendszertulajdonságok megfelelnek bizonyos szabványos HTTP-fejléceknek. A Go Azure Storage-ügyfélkódtára ezeket a tulajdonságokat fenntartja Önnek.
Felhasználó által definiált metaadatok: A felhasználó által definiált metaadatok egy vagy több, Blob Storage-erőforráshoz megadott név-érték párból állnak. Metaadatok használatával további értékeket tárolhat az erőforrással. A metaadat-értékek csak saját célra szolgálnak, és nem befolyásolják az erőforrás viselkedését.
A metaadat-név/érték párok érvényes HTTP-fejlécek, és be kell tartaniuk a HTTP-fejlécekre vonatkozó összes korlátozást. A metaadatok elnevezési követelményeiről további információt a Metaadatnevek című témakörben talál.
Tárolótulajdonságok lekérése
A tároló tulajdonságainak lekéréséhez hívja meg a következő metódust egy tárolóügyfél-objektumból:
Az alábbi példakód beolvassa egy tároló rendszertulajdonságait, és a tulajdonságértékek egy részét egy konzolablakba írja:
func getContainerProperties(client *azblob.Client, containerName string) {
// Reference the container as a client object
containerClient := client.ServiceClient().NewContainerClient(containerName)
// Get the container properties
resp, err := containerClient.GetProperties(context.TODO(), nil)
handleError(err)
// Print the container properties
fmt.Printf("Blob public access: %v\n", *resp.BlobPublicAccess)
fmt.Printf("Lease status: %v\n", *resp.LeaseStatus)
fmt.Printf("Lease state: %v\n", *resp.LeaseState)
fmt.Printf("Has immutability policy: %v\n", *resp.HasImmutabilityPolicy)
}
Metaadatok beállítása és lekérése
A metaadatokat egy vagy több név-érték párként is megadhatja egy blob- vagy tárolóerőforráson. Metaadatok beállításához hívja meg a következő metódust egy tárolóügyfél-objektumból:
A tároló metaadatainak beállítása felülírja a tárolóhoz társított összes meglévő metaadatot. Egyéni név-érték pár nem módosítható.
Az alábbi példakód egy tároló metaadatait állítja be:
func setContainerMetadata(client *azblob.Client, containerName string) {
// Reference the container as a client object
containerClient := client.ServiceClient().NewContainerClient(containerName)
// Set the container metadata
var metadata = make(map[string]*string)
metadata["key1"] = to.Ptr("value1")
metadata["key2"] = to.Ptr("value2")
_, err := containerClient.SetMetadata(context.TODO(), nil)
handleError(err)
}
Metaadatok lekéréséhez hívja meg a következő metódust egy tárolóügyfél-objektumból:
A metaadatok a következő válaszból származnak GetProperties: . Az alábbi példa metaadat-értékeket olvas be, és egy konzolablakba írja őket:
func getContainerMetadata(client *azblob.Client, containerName string) {
// Reference the container as a client object
containerClient := client.ServiceClient().NewContainerClient(containerName)
// Get the container properties, which includes metadata
resp, err := containerClient.GetProperties(context.TODO(), nil)
handleError(err)
// Print the container metadata
for k, v := range resp.Metadata {
fmt.Printf("%v: %v\n", k, *v)
}
}
Note
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.
Resources
A tárolótulajdonságok és metaadatok Go-hoz készült Azure Blob Storage-ügyfélmodullal történő beállításával és lekérésével kapcsolatos további információkért tekintse meg az alábbi erőforrásokat.
Kódrészletek
- 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 tulajdonságok és metaadatok beállítására és lekérésére szolgáló ügyfélkódtár-metódusok a következő REST API-műveleteket használják:
- Tároló tulajdonságainak lekérése (REST API)
- Tároló metaadatainak beállítása (REST API)
- Tároló metaadatainak lekérése (REST API)
A get_container_properties metódus lekéri a tároló tulajdonságait és metaadatait a Tároló tulajdonságainak lekérése művelet és a Tároló metaadatainak lekérése művelet meghívásával .
Ü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 elkészítéséhez kapcsolódó fejlesztői útmutató cikkek teljes listáját.