Bagikan melalui


Kueri untuk titik akhir Blob Storage menggunakan pustaka manajemen Azure Storage

Titik akhir Blob Storage membentuk alamat dasar untuk semua objek dalam akun penyimpanan. Saat membuat akun penyimpanan, Anda menentukan jenis titik akhir mana yang ingin Anda gunakan. Blob Storage mendukung dua jenis titik akhir:

  • Titik akhir standar menyertakan nama akun penyimpanan unik bersama dengan nama domain tetap. Format titik akhir standar adalah https://<storage-account>.blob.core.windows.net.
  • Titik akhir zona Azure DNS (pratinjau) secara dinamis memilih zona Azure DNS dan menetapkannya ke akun penyimpanan saat dibuat. Format titik akhir Zona Azure DNS adalah https://<storage-account>.z[00-99].blob.storage.azure.net.

Saat aplikasi Anda membuat objek klien layanan yang terhubung ke sumber daya data Blob Storage, Anda meneruskan URI yang merujuk titik akhir ke konstruktor klien layanan. Anda dapat membuat string URI secara manual, atau Anda dapat mengkueri titik akhir layanan saat runtime menggunakan pustaka manajemen Azure Storage.

Penting

Saat mereferensikan titik akhir layanan dalam aplikasi klien, disarankan agar Anda menghindari mengambil dependensi pada alamat IP yang di-cache. Alamat IP akun penyimpanan dapat berubah, dan mengandalkan alamat IP yang di-cache dapat mengakibatkan perilaku yang tidak terduga.

CNAMEs yang terkait dengan titik akhir akun penyimpanan dapat berubah tanpa pemberitahuan. Aplikasi Anda tidak boleh mengambil dependensi pada jumlah rekaman CNAME atau sub-domain yang terkait dengan catatan CNAME tersebut.

Selain itu, disarankan agar Anda menghormati time-to-live (TTL) catatan DNS dan menghindari penimpaan. Mengambil alih TTL DNS dapat mengakibatkan perilaku yang tidak terduga.

Untuk informasi selengkapnya, lihat catatan CNAME, subdomain, dan alamat IP.

Pustaka manajemen Azure Storage menyediakan akses terprogram ke penyedia sumber daya Azure Storage. Penyedia sumber daya adalah implementasi Azure Storage dari Azure Resource Manager. Pustaka manajemen memungkinkan pengembang mengelola akun penyimpanan dan konfigurasi akun, serta mengonfigurasi kebijakan manajemen siklus hidup, kebijakan replikasi objek, dan kebijakan imutabilitas.

Dalam artikel ini, Anda mempelajari cara mengkueri titik akhir Blob Storage menggunakan pustaka manajemen Azure Storage. Kemudian Anda menggunakan titik akhir tersebut untuk membuat BlobServiceClient objek untuk terhubung dengan sumber daya data Blob Storage.

Menyiapkan proyek Anda

Untuk bekerja dengan contoh kode dalam artikel ini, ikuti langkah-langkah ini untuk menyiapkan proyek Anda.

Memasang paket

Instal paket untuk bekerja dengan pustaka yang digunakan dalam contoh ini.

Instal paket berikut menggunakan dotnet add package:

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

Menyiapkan kode aplikasi

Tambahkan arahan atau import yang diperlukan using ke kode. Perhatikan bahwa contoh kode dapat membagi fungsionalitas antara file, tetapi di bagian ini semua arahan dicantumkan bersama-sama.

Tambahkan instruksi using berikut:

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

Informasi pustaka klien:

  • Azure.Identity: Menyediakan dukungan autentikasi token Microsoft Entra di seluruh Azure SDK, dan diperlukan untuk koneksi tanpa kata sandi ke layanan Azure.
  • Azure.ResourceManager.Storage: Mendukung manajemen sumber daya Azure Storage, termasuk grup sumber daya dan akun penyimpanan.
  • Azure.Storage.Blobs: Berisi kelas utama yang dapat Anda gunakan untuk bekerja dengan sumber daya data Blob Storage.

Mendaftarkan penyedia sumber daya Penyimpanan dengan langganan

Penyedia sumber daya harus terdaftar dengan langganan Azure Anda sebelum Anda dapat bekerja dengannya. Langkah ini hanya perlu dilakukan sekali per langganan, dan hanya berlaku jika penyedia sumber daya Microsoft.Storage saat ini tidak terdaftar dengan langganan Anda.

Anda dapat mendaftarkan penyedia sumber daya Storage, atau memeriksa status pendaftaran, menggunakan portal Azure, Azure CLI, atau Azure PowerShell.

Anda juga dapat menggunakan pustaka manajemen Azure untuk memeriksa status pendaftaran dan mendaftarkan penyedia sumber daya Storage, seperti yang ditunjukkan dalam contoh berikut:

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();
}

Catatan

Untuk melakukan operasi pendaftaran, Anda memerlukan izin untuk tindakan Azure RBAC berikut: Microsoft.Storage/register/action. Izin ini disertakan dalam peran Kontributor dan Pemilik .

Kueri untuk titik akhir Blob Storage

Untuk mengambil titik akhir Blob Storage untuk akun penyimpanan tertentu, kita perlu mendapatkan properti akun penyimpanan dengan memanggil operasi Dapatkan Properti . Sampel kode berikut menggunakan pustaka akses data dan manajemen untuk mendapatkan titik akhir Blob Storage untuk akun penyimpanan tertentu:

Untuk mendapatkan properti untuk akun penyimpanan tertentu, gunakan metode berikut dari objek StorageAccountCollection :

Metode ini mengembalikan objek StorageAccountResource , yang mewakili akun penyimpanan.

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;
}

Membuat objek klien menggunakan titik akhir

Setelah Anda memiliki titik akhir Blob Storage untuk akun penyimpanan, Anda dapat membuat instans objek klien untuk bekerja dengan sumber daya data. Sampel kode berikut membuat BlobServiceClient objek menggunakan titik akhir yang kami ambil dalam contoh sebelumnya:

// 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 ...

Langkah berikutnya

Lihat sampel kode lengkap (GitHub):

Untuk mempelajari selengkapnya tentang membuat objek klien, lihat Membuat dan mengelola objek klien yang berinteraksi dengan sumber daya data.