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


Blob Storage-végpont lekérdezése az Azure Storage felügyeleti kódtárával

A Blob Storage-végpontok alkotják a tárfiókon belüli összes objektum alapcímét. Tárfiók létrehozásakor meg kell adnia, hogy milyen típusú végpontot szeretne használni. A Blob Storage kétféle végpontot támogat:

  • A standard végpont tartalmazza az egyedi tárfiók nevét, valamint egy rögzített tartománynevet. A standard végpont formátuma a következő https://<storage-account>.blob.core.windows.net: .
  • Egy Azure DNS-zónavégpont (előzetes verzió) dinamikusan kiválaszt egy Azure DNS-zónát, és a létrehozáskor hozzárendeli azt a tárfiókhoz. Az Azure DNS-zónavégpont formátuma a következő https://<storage-account>.z[00-99].blob.storage.azure.net: .

Amikor az alkalmazás létrehoz egy szolgáltatásügyfél-objektumot, amely a Blob Storage-adaterőforrásokhoz csatlakozik, átad egy URI-t, amely a végpontra hivatkozik a szolgáltatásügyfél konstruktorának. Az URI-sztringet manuálisan is létrehozhatja, vagy futásidőben lekérdezheti a szolgáltatásvégpontot az Azure Storage felügyeleti kódtárával.

Fontos

Amikor szolgáltatásvégpontra hivatkozik egy ügyfélalkalmazásban, javasoljuk, hogy kerülje a gyorsítótárazott IP-címek függőségét. A tárfiók IP-címe változhat, és a gyorsítótárazott IP-címekre való támaszkodás váratlan viselkedést eredményezhet.

A tárfiókvégponthoz társított CNAM-k értesítés nélkül változhatnak. Az alkalmazásnak nem szabad függőséget vállalnia a CNAME rekordok számától vagy az ezekhez a CNAME rekordokhoz társított altartományoktól.

Emellett ajánlott tiszteletben tartani a DNS-rekord élettartamát (TTL), és kerülnie kell a felülírást. A DNS TTL felülbírálása váratlan viselkedést eredményezhet.

További információ: CNAME rekordok, altartományok és IP-címek.

Az Azure Storage felügyeleti kódtára programozott hozzáférést biztosít az Azure Storage-erőforrás-szolgáltatóhoz. Az erőforrás-szolgáltató az Azure Resource Manager Azure Storage-implementációja. A felügyeleti kódtár lehetővé teszi a fejlesztők számára a tárfiókok és fiókkonfigurációk kezelését, valamint az életciklus-kezelési szabályzatok, az objektumreplikációs szabályzatok és az nem módosítható házirendek konfigurálását.

Ebben a cikkben megtudhatja, hogyan kérdezhet le egy Blob Storage-végpontot az Azure Storage felügyeleti kódtárával. Ezután ezzel a végponttal hozzon létre egy BlobServiceClient objektumot a Blob Storage-adaterőforrásokhoz való csatlakozáshoz.

A projekt beállítása

A jelen cikkben szereplő példakódok használatához kövesse az alábbi lépéseket a projekt beállításához.

Csomagok telepítése

Telepítsen csomagokat a példában használt kódtárak használatához.

Telepítse a következő csomagokat a dotnet add package használatával:

dotnet add package Azure.Identity
dotnet add package Azure.ResourceManager.Storage
dotnet add package Azure.Storage.Blobs

Az alkalmazáskód beállítása

Adja hozzá a szükséges using vagy import irányelveket a kódhoz. Vegye figyelembe, hogy a példakódok feloszthatják a funkciókat a fájlok között, de ebben a szakaszban az összes irányelv együtt szerepel.

Adja hozzá a következő using irányelveket:

using Azure.Core;
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.ResourceManager;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Storage;

Ügyféloldali kódtár adatai:

  • Azure.Identity: Microsoft Entra-jogkivonat-hitelesítést biztosít az Azure SDK-ban, és az Azure-szolgáltatásokhoz való jelszó nélküli kapcsolatokhoz szükséges.
  • Azure.ResourceManager.Storage: Támogatja az Azure Storage-erőforrások kezelését, beleértve az erőforráscsoportokat és a tárfiókokat.
  • Azure.Storage.Blobs: A Blob Storage-adaterőforrások használatához használható elsődleges osztályokat tartalmazza.

A Storage-erőforrás-szolgáltató regisztrálása előfizetéssel

Az erőforrás-szolgáltatót regisztrálni kell az Azure-előfizetésében, mielőtt dolgozhat vele. Ezt a lépést előfizetésenként csak egyszer kell elvégezni, és csak akkor érvényes, ha a Microsoft.Storage erőforrás-szolgáltató jelenleg nincs regisztrálva az előfizetésében.

Regisztrálhatja a Storage-erőforrás-szolgáltatót, vagy ellenőrizheti a regisztrációs állapotot az Azure Portal, az Azure CLI vagy az Azure PowerShell használatával.

Az Azure felügyeleti kódtárak használatával ellenőrizheti a regisztrációs állapotot, és regisztrálhatja a Storage-erőforrás-szolgáltatót, ahogyan az alábbi példákban látható:

public static async Task RegisterSRPInSubscription(SubscriptionResource subscription)
{
    ResourceProviderResource resourceProvider = 
        await subscription.GetResourceProviderAsync("Microsoft.Storage");

    // Check the registration state of the resource provider and register, if needed
    if (resourceProvider.Data.RegistrationState == "NotRegistered")
        resourceProvider.Register();
}

Megjegyzés:

A regisztrációs művelet végrehajtásához a következő Azure RBAC-művelet engedélyére lesz szüksége: Microsoft.Storage/register/action. Ez az engedély szerepel a közreműködői és tulajdonosi szerepkörökben.

A Blob Storage-végpont lekérdezése

Egy adott tárfiók Blob Storage-végpontjának lekéréséhez le kell kérnünk a tárfiók tulajdonságait a Tulajdonságok lekérése művelet meghívásával. Az alábbi kódminták az adatelérési és felügyeleti kódtárakat is használják egy Blob Storage-végpont lekéréséhez egy adott tárfiókhoz:

Egy adott tárfiók tulajdonságainak lekéréséhez használja a következő metódust egy StorageAccountCollection objektumból:

Ez a metódus egy StorageAccountResource objektumot ad vissza, amely a tárfiókot jelöli.

public static async Task<Uri> GetBlobServiceEndpoint(
    string storageAccountName,
    TokenCredential credential)
{
    // TODO: replace with your subscription ID and resource group name
    // You can locate your subscription ID on the Subscriptions blade
    // of the Azure portal (https://portal.azure.com)
    const string subscriptionId = "<subscription-id>";
    const string rgName = "<resource-group-name>";

    ArmClient armClient = new(credential);

    // Create a resource identifier, then get the subscription resource
    ResourceIdentifier resourceIdentifier = new($"/subscriptions/{subscriptionId}");
    SubscriptionResource subscription = armClient.GetSubscriptionResource(resourceIdentifier);

    // Get a resource group
    ResourceGroupResource resourceGroup = await subscription.GetResourceGroupAsync(rgName);

    // Get a collection of storage account resources
    StorageAccountCollection accountCollection = resourceGroup.GetStorageAccounts();

    // Get the properties for the specified storage account
    StorageAccountResource storageAccount = await accountCollection.GetAsync(storageAccountName);

    // Return the primary endpoint for the blob service
    return storageAccount.Data.PrimaryEndpoints.BlobUri;
}

Ügyfélobjektum létrehozása a végpont használatával

Ha már rendelkezik egy tárfiók Blob Storage-végpontjával, példányosíthat egy ügyfélobjektumot az adaterőforrások használatához. A következő kódminta létrehoz egy BlobServiceClient objektumot a korábbi példában lekért végpont használatával:

// Create an instance of DefaultAzureCredential for authorization
TokenCredential credential = new DefaultAzureCredential();

// TODO: replace with your storage account name
string storageAccountName = "<storage-account-name>";

// Call out to our function that retrieves the blob service endpoint for the given storage account
Uri blobURI = await AccountProperties.GetBlobServiceEndpoint(storageAccountName, credential);
Console.WriteLine($"URI: {blobURI}");

// Now that we know the endpoint, create the client object
BlobServiceClient blobServiceClient = new(blobURI, credential);

// Do something with the storage account or its resources ...

Következő lépések

Tekintse meg a teljes kódmintákat (GitHub):

Az ügyfélobjektumok létrehozásáról további információt az adaterőforrásokat kezelő ügyfélobjektumok létrehozása és kezelése című témakörben talál.