Megosztás a következőn keresztül:


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

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"
)

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

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:

Ügyfélmodul erőforrásai