Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak nawiązać połączenie z usługą Azure Blob Storage przy użyciu biblioteki klienta usługi Azure Blob Storage dla platformy .NET. Po nawiązaniu połączenia skorzystaj z przewodników dla deweloperów , aby dowiedzieć się, jak kod może działać na kontenerach, obiektach blob i funkcjach usługi Blob Storage.
Jeśli chcesz rozpocząć od kompletnego przykładu, zobacz Szybki start: biblioteka klienta usługi Azure Blob Storage dla platformy .NET.
Dokumentacja API | Kod źródłowy biblioteki | Pakiet (NuGet) | Przykłady | Prześlij opinię
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz jedną bezpłatnie
- Konto magazynu Azure — utwórz konto magazynu
- Najnowszy zestaw .NET SDK dla systemu operacyjnego. Pamiętaj, aby pobrać zestaw SDK, a nie środowisko uruchomieniowe.
konfigurowanie projektu
Ta sekcja przeprowadzi Cię przez proces przygotowywania projektu do pracy z biblioteką klienta usługi Azure Blob Storage dla platformy .NET.
Z katalogu projektu zainstaluj pakiety dla bibliotek klienta Azure Blob Storage oraz Azure Identity przy użyciu polecenia dotnet add package. Pakiet Azure.Identity jest wymagany w przypadku połączeń bez hasła z usługami platformy Azure.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Dodaj te using dyrektywy na początku pliku kodu:
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
Informacje o bibliotece klienta Blob:
Azure.Storage.Blobs: zawiera klasy podstawowe (obiekty klienta), których można użyć do obsługi usługi, kontenerów i obiektów blob.
Azure.Storage.Blobs.Specialized: zawiera klasy, których można użyć do wykonywania operacji specyficznych dla typu obiektu blob, takiego jak blokowe obiekty blob.
Azure.Storage.Blobs.Models: wszystkie inne klasy narzędzi, struktury i typy wyliczenia.
Autoryzowanie dostępu i nawiązywanie połączenia z usługą Blob Storage
Aby połączyć aplikację z usługą Blob Storage, utwórz wystąpienie klasy BlobServiceClient . Ten obiekt jest punktem wyjścia do interakcji z zasobami danych na poziomie konta przechowywania. Można go użyć do zarządzania kontem magazynu i jego kontenerami. Możesz również użyć klienta serwisu, aby utworzyć klientów kontenerów lub klientów blob, w zależności od zasobu, z którym chcesz pracować.
Aby dowiedzieć się więcej na temat tworzenia obiektów klienta i zarządzania nimi, zobacz Tworzenie obiektów klienta korzystających z zasobów danych i zarządzanie nimi.
Obiekt BlobServiceClient można autoryzować przy użyciu tokenu autoryzacji Microsoft Entra, klucza do dostępu konta lub wspólnej sygnatury dostępu (SAS). Aby uzyskać optymalne zabezpieczenia, firma Microsoft zaleca używanie identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi w celu autoryzowania żądań względem danych obiektów blob. Aby uzyskać więcej informacji, zobacz Autoryzowanie dostępu do obiektów blob przy użyciu identyfikatora Entra firmy Microsoft.
Aby autoryzować się za pomocą identyfikatora Microsoft Entra, musisz użyć podmiotu zabezpieczeń. Typ wymaganego podmiotu zabezpieczeń zależy od tego, gdzie działa aplikacja. Użyj tej tabeli jako przewodnika.
| Gdzie działa aplikacja | Podmiot zabezpieczeń | Wskazówki |
|---|---|---|
| Maszyna lokalna (programowanie i testowanie) | Podmiot usługi | Aby dowiedzieć się, jak zarejestrować aplikację, skonfigurować grupę firmy Microsoft Entra, przypisać role i skonfigurować zmienne środowiskowe, zobacz Autoryzowanie dostępu przy użyciu jednostek usługi dewelopera |
| Maszyna lokalna (programowanie i testowanie) | Tożsamość użytkownika | Aby dowiedzieć się, jak skonfigurować grupę firmy Microsoft Entra, przypisać role i zalogować się na platformie Azure, zobacz Autoryzowanie dostępu przy użyciu poświadczeń dewelopera |
| Hostowane na platformie Azure | Tożsamość zarządzana | Aby dowiedzieć się, jak włączyć tożsamość zarządzaną i przypisać role, zobacz wskazówki dotyczące autoryzowania dostępu przy użyciu tożsamości zarządzanej przypisanej przez system lub tożsamości zarządzanej przypisanej przez użytkownika |
| Hostowane poza platformą Azure (na przykład aplikacje lokalne) | Podmiot usługi | Aby dowiedzieć się, jak zarejestrować aplikację, przypisać role i skonfigurować zmienne środowiskowe, zobacz Autoryzowanie dostępu z aplikacji lokalnych przy użyciu jednostki usługi aplikacji |
Autoryzowanie dostępu za pomocą DefaultAzureCredential
Łatwym i bezpiecznym sposobem autoryzowania dostępu i nawiązywania połączenia z usługą Blob Storage jest uzyskanie tokenu OAuth przez utworzenie wystąpienia DefaultAzureCredential . Następnie możesz użyć tego poświadczenia, aby utworzyć obiekt BlobServiceClient .
W poniższym przykładzie zostaje utworzony BlobServiceClient obiekt autoryzowany przy użyciu DefaultAzureCredential.
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
Jeśli wiesz dokładnie, którego typu poświadczeń użyjesz do uwierzytelniania użytkowników, możesz uzyskać token OAuth przy użyciu innych klas w bibliotece klienta tożsamości platformy Azure dla platformy .NET. Te klasy pochodzą z klasy TokenCredential .
Możesz również zarejestrować klienta do wstrzykiwania zależności w aplikacji .NET. Aby uzyskać więcej informacji, zobacz Wstrzykiwanie zależności za pomocą zestawu Azure SDK dla platformy .NET.
Aby dowiedzieć się więcej na temat każdego z tych mechanizmów autoryzacji, zobacz Autoryzowanie dostępu do danych w usłudze Azure Storage.
Kompilowanie aplikacji
Podczas tworzenia aplikacji do pracy z zasobami danych w usłudze Azure Blob Storage kod wchodzi głównie w interakcję z trzema typami zasobów: kontami magazynu, kontenerami i obiektami blob. Aby dowiedzieć się więcej o tych typach zasobów, sposobie ich powiązania ze sobą i sposobie interakcji aplikacji z zasobami, zobacz Omówienie sposobu interakcji aplikacji z zasobami danych usługi Blob Storage.
W poniższych przewodnikach przedstawiono sposób uzyskiwania dostępu do danych i wykonywania określonych akcji przy użyciu biblioteki klienta usługi Azure Storage dla platformy .NET:
| Przewodnik | opis |
|---|---|
| Dołączanie danych do obiektów blob | Dowiedz się, jak utworzyć obiekt blob dołączalny, a następnie dołączyć do niego dane. |
| Konfigurowanie zasad ponawiania prób | Zaimplementuj zasady ponawiania dla operacji klienta. |
| Kopiuj blobu | Skopiuj blob z jednej lokalizacji do innej. |
| Tworzenie kontenera | Tworzenie kontenerów. |
| Utwórz sygnaturę dostępu współdzielonego użytkownika | Utwórz delegowaną sygnaturę dostępu współdzielonego (SAS) dla kontenera lub obiektu blob. |
| Tworzenie i zarządzanie dzierżawami obiektów blob | Ustanów blokadę na blobie i zarządzaj nią. |
| Tworzenie dzierżaw kontenerów i zarządzanie nimi | Ustanawianie blokady kontenera i zarządzanie nią. |
| Usuwanie i przywracanie obiektów blob | Usuń obiekty blob i przywróć usunięte obiekty blob, jeśli włączono miękkie usuwanie. |
| Usuwanie i przywracanie kontenerów | Usuń kontenery, a jeśli włączono usuwanie nietrwałe, przywróć usunięte kontenery. |
| Pobieranie obiektów blob | Pobierz obiekty blob używając ciągów, strumieni danych i ścieżek plików. |
| Znajdowanie obiektów blob przy użyciu tagów | Ustawianie i pobieranie tagów oraz używanie tagów do znajdowania danych typu blob. |
| Lista blobów | Wyświetlanie listy obiektów blob na różne sposoby. |
| Lista kontenerów | Wyświetl listę kontenerów na koncie oraz różne opcje dostępne do dostosowania listy. |
| Zarządzanie właściwościami i metadanymi | Pobieranie i ustawianie właściwości i metadanych dla obiektów blob. |
| Zarządzanie właściwościami i metadanymi | Pobieranie i ustawianie właściwości i metadanych dla kontenerów. |
| Dostrajanie wydajności na potrzeby transferów danych | Optymalizowanie wydajności operacji transferu danych. |
| Ustaw lub zmień warstwę dostępu blobu | Ustaw lub zmień warstwę dostępu dla obiektu blob blokowego. |
| Przesyłanie blobów | Dowiedz się, jak przesyłać obiekty blob przy użyciu ciągów, strumieni, ścieżek plików i innych metod. |