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.
Ez a cikk bemutatja, hogyan törölhet tárolókat a Go-hoz készült Azure Storage-ügyfélmodullal. Ha engedélyezte a tárolók helyreállítható törlését, visszaállíthatja a törölt tárolókat.
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ó törléséhez vagy visszaállításához szükséges engedélyekkel. A Microsoft Entra-azonosítóval történő engedélyezéshez (ajánlott) szüksége van az Azure RBAC beépített szerepköreinek egyikére, például a Storage Blob Data közreműködő vagy annál magasabb szintű szerepkörre. További információkért tekintse meg a Tároló törlése (REST API) és a Tároló helyreállítása (REST API) vonatkozó engedélyezési útmutatót.
Törölj egy tárolót
Tároló törléséhez hívja meg a következő metódust:
A tároló törlése után legalább 30 másodpercig nem hozhat létre azonos nevű tárolót. Az azonos nevű tároló létrehozása HTTP-hibakóddal 409 (Conflict)meghiúsul. A tárolón vagy a benne lévő blobokon található egyéb műveletek HTTP-hibakóddal 404 (Not Found)meghiúsulnak.
Az alábbi példa egy megadott tároló törlését mutatja be:
func deleteContainer(client *azblob.Client, containerName string) {
// Delete the container
_, err := client.DeleteContainer(context.TODO(), containerName, nil)
handleError(err)
}
Törölt tároló visszaállítása
Ha a tároló helyreállítható törlése engedélyezve van egy tárfiókhoz, a törölt tároló és tartalma egy megadott megőrzési időn belül helyreállítható. A tárolók helyreállítható törléséről további információt a tárolók helyreállítható törlésének engedélyezése és kezelése című témakörben talál. Lágyszívűen törölt tárolót az alábbi metódus meghívásával állíthat vissza az ügyfélobjektumban beágyazott ServiceClient:
Az alábbi példa a tárolókat sorolja fel, beleértve a helyreállíthatóan törölt tárolókat is, és iterálja a listát a megadott helyreállíthatóan törölt tároló visszaállításához:
func restoreDeletedContainer(client *azblob.Client, containerName string) {
// List containers, included deleted ones
pager := client.NewListContainersPager(&azblob.ListContainersOptions{
Include: azblob.ListContainersInclude{Deleted: true},
})
for pager.More() {
resp, err := pager.NextPage(context.TODO())
handleError(err)
for _, container := range resp.ContainerItems {
if *container.Name == containerName && *container.Deleted {
// Restore the deleted container
_, err := client.ServiceClient().RestoreContainer(context.TODO(), containerName, *container.Version, nil)
handleError(err)
}
}
}
}
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ók Go-hoz készült Azure Blob Storage-ügyfélmodullal történő törlé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 tároló törlésére vagy visszaállítására szolgáló ügyfélkódtár-metódusok a következő REST API-műveleteket használják:
Ügyfélmodul erőforrásai
Lásd még
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.