Wstawianie obiektu blob
Operacja Put Blob
tworzy nowy blok, stronę lub uzupełnialne obiekty blob albo aktualizuje zawartość istniejącego blokowego obiektu blob. Operacja Put Blob
zastąpi całą zawartość istniejącego obiektu blob o tej samej nazwie.
Podczas aktualizowania istniejącego blokowego obiektu blob należy zastąpić wszystkie istniejące metadane w obiekcie blob. Zawartość istniejącego obiektu blob jest zastępowana zawartością nowego obiektu blob. Częściowe aktualizacje nie są obsługiwane za pomocą polecenia Put Blob
. Aby wykonać częściową aktualizację zawartości blokowego obiektu blob, użyj operacji Umieszczanie listy blokowej .
Uzupełnialne obiekty blob można utworzyć tylko w wersjach 2015-02-21 i nowszych.
Wywołanie obiektu w celu Put Blob
utworzenia stronicowego obiektu blob lub uzupełnialnych obiektów blob inicjuje tylko obiekt blob. Jeśli obiekt blob już istnieje, zawartość zostanie wyczyszczone. Aby dodać zawartość do stronicowego obiektu blob, wywołaj operację Umieszczanie strony . Aby dodać zawartość do dołączanego obiektu blob, wywołaj operację Dołączanie bloku .
Żądanie
Żądanie można skonstruować Put Blob
w następujący sposób. Zalecamy używanie protokołu HTTPS. Zastąp ciąg myaccount nazwą konta magazynu:
IDENTYFIKATOR URI żądania PUT | Wersja PROTOKOŁU HTTP |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob |
HTTP/1.1 |
Żądanie usługi magazynu emulowanego
Podczas wysyłania żądania względem emulowanej usługi magazynu określ nazwę hosta emulatora i port usługi Blob Service jako 127.0.0.1:10000
, a następnie nazwę emulowanego konta magazynu:
IDENTYFIKATOR URI żądania PUT | Wersja PROTOKOŁU HTTP |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob |
HTTP/1.1 |
Emulator magazynu obsługuje tylko rozmiary obiektów blob o rozmiarach maksymalnie 2 gibibajtów (GiB).
Aby uzyskać więcej informacji, zobacz Use the Azurite emulator for local Azure Storage development (Używanie emulatora Azurite do lokalnego programowania w usłudze Azure Storage).
Parametry identyfikatora URI
W identyfikatorze URI żądania można określić następujące dodatkowe parametry:
Parametr | Opis |
---|---|
timeout |
Opcjonalny. Parametr jest wyrażony timeout w sekundach. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji usługi Blob Service. |
Nagłówki żądań (wszystkie typy obiektów blob)
Wymagane i opcjonalne nagłówki żądań dla wszystkich typów obiektów blob opisano w poniższej tabeli:
Nagłówek żądania | Opis |
---|---|
Authorization |
Wymagane. Określa schemat autoryzacji, nazwę konta i podpis. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage. |
Date lub x-ms-date |
Wymagane. Określa dla żądania godzinę w formacie uniwersalnego czasu koordynowanego (UTC). Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage. |
x-ms-version |
Wymagane dla wszystkich autoryzowanych żądań. Określa wersję operacji do użycia dla tego żądania. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji usług Azure Storage. |
Content-Length |
Wymagane. Długość żądania. W przypadku stronicowego obiektu blob lub uzupełnialnych obiektów blob wartość tego nagłówka musi być ustawiona na zero, ponieważ obiekt Put Blob jest używany tylko do inicjowania obiektu blob. Aby napisać zawartość do istniejącego stronicowego obiektu blob, wywołaj metodę Umieść stronę. Aby napisać zawartość do uzupełnialnych obiektów blob, wywołaj funkcję Append Block. |
Content-Type |
Opcjonalny. Typ zawartości MIME obiektu blob. Domyślnym typem jest application/octet-stream . |
Content-Encoding |
Opcjonalny. Określa, które kodowania zawartości zostały zastosowane do obiektu blob. Ta wartość jest zwracana do klienta po wykonaniu operacji Get Blob w zasobie obiektu blob. Gdy ta wartość zostanie zwrócona, klient może użyć go do dekodowania zawartości obiektu blob. |
Content-Language |
Opcjonalny. Określa języki naturalne używane przez ten zasób. |
Content-MD5 |
Opcjonalny. Skrót MD5 zawartości obiektu blob. Ten skrót służy do weryfikowania integralności obiektu blob podczas transportu. Po określeniu tego nagłówka usługa magazynu sprawdza skrót, który dotarł do wysłanego. Jeśli dwa skróty nie są zgodne, operacja kończy się niepowodzeniem z kodem błędu 400 (Nieprawidłowe żądanie). Gdy nagłówek zostanie pominięty w wersji 2012-02-12 lub nowszej, usługa Blob Storage generuje skrót MD5. Wyniki z pobierania obiektów blob, pobierania właściwości obiektów blob i obiektów blob listy obejmują skrót MD5. |
x-ms-content-crc64 |
Opcjonalny. Skrót CRC64 zawartości obiektu blob. Ten skrót służy do weryfikowania integralności obiektu blob podczas transportu. Po określeniu tego nagłówka usługa magazynu sprawdza skrót, który dotarł do wysłanego. Jeśli dwa skróty nie są zgodne, operacja kończy się niepowodzeniem z kodem błędu 400 (Nieprawidłowe żądanie). Ten nagłówek jest obsługiwany w wersjach 02-02-2019 i nowszych. Jeśli istnieją nagłówki Content-MD5 i x-ms-content-crc64, żądanie kończy się niepowodzeniem z błędem 400 (nieprawidłowe żądanie). |
Cache-Control |
Opcjonalny. Usługa Blob Storage przechowuje tę wartość, ale nie używa jej ani nie modyfikuje. |
x-ms-blob-content-type |
Opcjonalny. Ustaw typ zawartości obiektu blob. |
x-ms-blob-content-encoding |
Opcjonalny. Ustaw kodowanie zawartości obiektu blob. |
x-ms-blob-content-language |
Opcjonalny. Ustaw język zawartości obiektu blob. |
x-ms-blob-content-md5 |
Opcjonalny. Ustaw skrót MD5 obiektu blob. W przypadku obiektu BlockBlob ten nagłówek ma pierwszeństwo Content-MD5 przed sprawdzeniem integralności obiektu blob podczas transportu. W przypadku elementów PageBlob i AppendBlob ten nagłówek ustawia bezpośrednio skrót MD5 obiektu blob. |
x-ms-blob-cache-control |
Opcjonalny. Ustawia kontrolkę pamięci podręcznej obiektu blob. |
x-ms-blob-type: <BlockBlob ¦ PageBlob ¦ AppendBlob> |
Wymagane. Określa typ obiektu blob do utworzenia: blokowy obiekt blob, stronicowy obiekt blob lub uzupełnialne obiekty blob. Obsługa tworzenia uzupełnialnych obiektów blob jest dostępna tylko w wersji 2015-02-21 lub nowszej. |
x-ms-meta-name:value |
Opcjonalny. Pary name-value skojarzone z obiektem blob jako metadanymi. Uwaga: od wersji 2009-09-19 nazwy metadanych muszą być zgodne z regułami nazewnictwa identyfikatorów języka C#. |
x-ms-encryption-scope |
Opcjonalny. Wskazuje zakres szyfrowania używany do szyfrowania zawartości żądania. Ten nagłówek jest obsługiwany w wersjach 2019-02-02 i nowszych. |
x-ms-encryption-context |
Opcjonalny. Wartość domyślna to "Empty" (Puste). Jeśli wartość zostanie ustawiona, ustawi metadane systemu obiektów blob. Maksymalna długość-1024. Prawidłowe tylko wtedy, gdy hierarchiczna przestrzeń nazw jest włączona dla konta. Ten nagłówek jest obsługiwany w wersjach 2021-08-06 i nowszych. |
x-ms-tags |
Opcjonalny. Ustawia podane tagi zakodowane w ciągu zapytania w obiekcie blob. Zobacz uwagi, aby uzyskać dodatkowe informacje. Obsługiwane w wersji 2019-12-12 lub nowszej. |
x-ms-lease-id:<ID> |
Wymagane, jeśli obiekt blob ma aktywną dzierżawę. Aby wykonać tę operację na obiekcie blob z aktywną dzierżawą, określ prawidłowy identyfikator dzierżawy dla tego nagłówka. |
x-ms-blob-content-disposition |
Opcjonalny. Ustawia nagłówek obiektu blob Content-Disposition . Dostępne dla wersji 2013-08-15 i nowszych.Pole nagłówka Content-Disposition odpowiedzi przekazuje dodatkowe informacje o sposobie przetwarzania ładunku odpowiedzi i można go użyć do dołączania dodatkowych metadanych. Jeśli na przykład nagłówek jest ustawiony na attachment , wskazuje, że agent użytkownika nie powinien wyświetlać odpowiedzi. Zamiast tego powinno zostać wyświetlone okno dialogowe Zapisz jako z nazwą pliku inną niż określona nazwa obiektu blob.Odpowiedź z operacji Pobierz obiekty blob i Pobierz właściwości obiektu blob zawiera content-disposition nagłówek. |
Origin |
Opcjonalny. Określa pochodzenie, z którego jest wystawiane żądanie. Obecność tego nagłówka powoduje, że nagłówki współużytkowania zasobów między źródłami (CORS) w odpowiedzi. Aby uzyskać więcej informacji, zobacz obsługa mechanizmu CORS dla usług Azure Storage. |
x-ms-client-request-id |
Opcjonalny. Udostępnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem znaków 1-kibibyte (KiB), który jest rejestrowany w dziennikach analizy podczas konfigurowania rejestrowania. Zdecydowanie zalecamy używanie tego nagłówka do korelowania działań po stronie klienta z żądaniami odbieranymi przez serwer. Aby uzyskać więcej informacji, zobacz About Storage analytics logging (Informacje o rejestrowaniu analizy magazynu). |
x-ms-access-tier |
Opcjonalny. Warstwa, która ma zostać ustawiona na obiekcie blob. W przypadku stronicowych obiektów blob na koncie Premium Storage tylko w wersji 2017-04-17 lub nowszej. Aby uzyskać pełną listę warstw obsługiwanych przez stronicowy obiekt blob, zobacz Wysokiej wydajności magazyn w warstwie Premium i dyski zarządzane dla maszyn wirtualnych. W przypadku blokowych obiektów blob obsługiwane w przypadku kont magazynu obiektów blob lub ogólnego przeznaczenia w wersji 2 tylko w wersji 2018-11-09 lub nowszej. Prawidłowe wartości dla warstw blokowych obiektów blob to Hot , Cool , Cold i Archive .
Uwaga: Cold warstwa jest obsługiwana w wersji 2021-12-02 lub nowszej. Aby uzyskać szczegółowe informacje na temat warstw blokowych obiektów blob, zobacz Warstwy magazynowania Gorąca, Chłodna i Archiwum. |
x-ms-immutability-policy-until-date |
Wersja 2020-06-12 lub nowsza. Określa okres przechowywania do daty ustawienia obiektu blob. Jest to data, do której obiekt blob może być chroniony przed modyfikacją lub usunięciem. Jest zgodny z formatem RFC1123. |
x-ms-immutability-policy-mode |
Wersja 2020-06-12 lub nowsza. Określa tryb zasad niezmienności, który ma być ustawiony na obiekcie blob. Prawidłowe wartości to unlocked i locked . W programie unlocked użytkownicy mogą zmieniać zasady, zwiększając lub zmniejszając okres przechowywania do daty. W przypadku locked programu te działania są zabronione. |
x-ms-legal-hold |
Wersja 2020-06-12 lub nowsza. Określa blokadę prawną, która ma zostać ustawiona na obiekcie blob. Prawidłowe wartości to true i false . |
x-ms-expiry-option |
Opcjonalny. Wersja 2023-08-03 lub nowsza. Określa opcję daty wygaśnięcia dla żądania. Aby uzyskać więcej informacji, zobacz WygaśnięcieOption. Ten nagłówek jest prawidłowy dla kont z włączoną hierarchiczną przestrzenią nazw. |
x-ms-expiry-time |
Opcjonalny. Wersja 2023-08-03 lub nowsza. Określa godzinę wygaśnięcia obiektu blob. Format daty wygaśnięcia różni się w zależności od x-ms-expiry-option . Aby uzyskać więcej informacji, zobacz WygaśnięcieOption. Ten nagłówek jest prawidłowy dla kont z włączoną hierarchiczną przestrzenią nazw. |
Ta operacja obsługuje również używanie nagłówków warunkowych do zapisu obiektu blob tylko wtedy, gdy spełniony jest określony warunek. Aby uzyskać więcej informacji, zobacz Określanie nagłówków warunkowych dla operacji usługi Blob Storage.
Nagłówki żądań (tylko stronicowe obiekty blob)
Nagłówki żądań, które mają zastosowanie tylko do operacji na stronicowych obiektach blob, zostały opisane w poniższej tabeli:
Nagłówek żądania | Opis |
---|---|
x-ms-blob-content-length: bytes |
Wymagane dla stronicowych obiektów blob. Ten nagłówek określa maksymalny rozmiar stronicowego obiektu blob, maksymalnie 8 tebibajtów (TiB). Rozmiar stronicowego obiektu blob musi być wyrównany do granicy 512 bajtów. Jeśli ten nagłówek jest określony dla blokowego obiektu blob lub uzupełnialnych obiektów blob, usługa Blob Storage zwraca kod stanu 400 (nieprawidłowe żądanie). |
x-ms-blob-sequence-number: <num> |
Opcjonalny. Ustaw tylko dla stronicowych obiektów blob. Numer sekwencji to wartość kontrolowana przez użytkownika, której można użyć do śledzenia żądań. Wartość numeru sekwencji musi wynosić od 0 do 2^63 –1. Wartość domyślna to 0. |
x-ms-access-tier |
Wersja 2017-04-17 lub nowsza. W przypadku stronicowych obiektów blob tylko na koncie magazynu w warstwie Premium. Określa warstwę, która ma zostać ustawiona na obiekcie blob. Aby uzyskać pełną listę obsługiwanych warstw, zobacz Magazyn w warstwie Premium o wysokiej wydajności i dyski zarządzane dla maszyn wirtualnych. |
x-ms-client-request-id |
Ten nagłówek może służyć do rozwiązywania problemów z żądaniami i odpowiadającymi im odpowiedziami. Wartość tego nagłówka jest równa wartości x-ms-client-request-id nagłówka, jeśli znajduje się w żądaniu, a wartość nie zawiera więcej niż 1024 widocznych znaków ASCII.
x-ms-client-request-id Jeśli nagłówek nie jest obecny w żądaniu, nie będzie on obecny w odpowiedzi. |
Nagłówki żądań (klucze szyfrowania dostarczone przez klienta)
Od wersji 2019-02-02 można określić następujące nagłówki na żądanie szyfrowania obiektu blob przy użyciu klucza dostarczonego przez klienta. Szyfrowanie przy użyciu klucza dostarczonego przez klienta (i odpowiedniego zestawu nagłówków) jest opcjonalne.
Nagłówek żądania | Opis |
---|---|
x-ms-encryption-key |
Wymagane. Klucz szyfrowania AES-256 zakodowany w formacie Base64. |
x-ms-encryption-key-sha256 |
Wymagane. Skrót SHA256 zakodowany w formacie Base64 klucza szyfrowania. |
x-ms-encryption-algorithm: AES256 |
Wymagane. Określa algorytm do użycia do szyfrowania. Wartość tego nagłówka musi mieć wartość AES256 . |
Treść żądania
W przypadku blokowego obiektu blob treść żądania zawiera zawartość obiektu blob.
W przypadku stronicowego obiektu blob lub uzupełnialnych obiektów blob treść żądania jest pusta.
Przykładowe żądanie
W poniższym przykładzie przedstawiono żądanie utworzenia blokowego obiektu blob:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblockblob HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Content-Type: text/plain; charset=UTF-8
x-ms-blob-content-disposition: attachment; filename="fname.ext"
x-ms-blob-type: BlockBlob
x-ms-meta-m1: v1
x-ms-meta-m2: v2
x-ms-expiry-option: RelativeToNow
x-ms-expiry-time: 30000
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Content-Length: 11
Request Body:
hello world
To przykładowe żądanie tworzy stronicowy obiekt blob i określa maksymalny rozmiar 1024 bajtów. Aby dodać zawartość do stronicowego obiektu blob, należy wywołać metodę Put Page:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/mypageblob HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Content-Type: text/plain; charset=UTF-8
x-ms-blob-type: PageBlob
x-ms-blob-content-length: 1024
x-ms-blob-sequence-number: 0
Authorization: SharedKey
Origin: http://contoso.com
Vary: Origin
myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Content-Length: 0
To przykładowe żądanie tworzy uzupełnialne obiekt blob. Aby dodać zawartość do uzupełnialnych obiektów blob, należy wywołać funkcję Append Block:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myappendblob HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Content-Type: text/plain; charset=UTF-8
x-ms-blob-type: AppendBlob
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Origin: http://contoso.com
Vary: Origin
Content-Length: 0
Reakcja
Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi.
Kod stanu
Pomyślna operacja zwraca kod stanu 201 (Utworzony).
Aby uzyskać więcej informacji na temat kodów stanu, zobacz Kody stanu i błędów.
Nagłówki odpowiedzi
Odpowiedź na tę operację zawiera następujące nagłówki. Odpowiedź może również zawierać dodatkowe standardowe nagłówki HTTP. Wszystkie standardowe nagłówki są zgodne ze specyfikacją protokołu HTTP/1.1.
Nagłówek odpowiedzi | Opis |
---|---|
ETag |
Zawiera wartość, która może być używana przez klienta do wykonywania operacji warunkowych PUT przy użyciu nagłówka If-Match żądania. Jeśli wersja żądania to 2011-08-18 lub nowsza, wartość elementu ETag jest ujęta w cudzysłów. |
Last-Modified |
Data/godzina ostatniej modyfikacji obiektu blob. Format daty jest zgodny z dokumentem RFC 1123. Aby uzyskać więcej informacji, zobacz Reprezentacja wartości daty/godziny w nagłówkach. Każda operacja zapisu obiektu blob (w tym aktualizacje metadanych lub właściwości obiektu blob) zmienia czas ostatniej modyfikacji obiektu blob. |
Content-MD5 |
Zwrócony dla blokowego obiektu blob, aby klient mógł sprawdzić integralność zawartości komunikatu. Zwrócona Content-MD5 wartość jest obliczana przez usługę Blob Storage. W wersji 2012-02-12 lub nowszej ten nagłówek jest zwracany nawet wtedy, gdy żądanie nie zawiera Content-MD5 ani x-ms-blob-content-md5 nagłówków. |
x-ms-content-crc64 |
Zwrócony dla blokowego obiektu blob, aby klient mógł sprawdzić integralność zawartości komunikatu. Zwrócona x-ms-content-crc64 wartość jest obliczana przez usługę Blob Storage. Ten nagłówek jest zawsze zwracany w wersji 2019-02-02. |
x-ms-request-id |
Unikatowo identyfikuje żądanie, które zostało wykonane, i można go użyć do rozwiązywania problemów z żądaniem. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z operacjami interfejsu API. |
x-ms-version |
Wskazuje wersję usługi Blob Storage użytą do wykonania żądania. Zwrócono żądania dotyczące wersji 2009-09-19 lub nowszej. |
Date |
Wartość daty/godziny UTC wygenerowana przez usługę, która wskazuje godzinę zainicjowania odpowiedzi. |
Access-Control-Allow-Origin |
Zwracane, jeśli żądanie zawiera Origin nagłówek, a mechanizm CORS jest włączony z regułą dopasowania. Ten nagłówek zwraca wartość nagłówka żądania źródła, jeśli istnieje dopasowanie. |
Access-Control-Expose-Headers |
Zwracane, jeśli żądanie zawiera Origin nagłówek, a mechanizm CORS jest włączony z regułą dopasowania. Zwraca listę nagłówków odpowiedzi, które mają być widoczne dla klienta lub wystawcy żądania. |
Access-Control-Allow-Credentials |
Zwracany, jeśli żądanie zawiera Origin nagłówek, a mechanizm CORS jest włączony z regułą dopasowania, która nie zezwala na wszystkie źródła. Ten nagłówek ma wartość true. |
x-ms-request-server-encrypted: true/false |
Wersja 2015-12-11 lub nowsza. Wartość tego nagłówka jest ustawiana na true wartość , jeśli zawartość żądania zostanie pomyślnie zaszyfrowana przy użyciu określonego algorytmu. W przeciwnym razie wartość to false . |
x-ms-encryption-key-sha256 |
Wersja 2019-02-02 lub nowsza. Zwrócone, jeśli żądanie użyło klucza dostarczonego przez klienta do szyfrowania, aby klient mógł upewnić się, że zawartość żądania została pomyślnie zaszyfrowana przy użyciu podanego klucza. |
x-ms-encryption-scope |
Wersja 2019-02-02 lub nowsza. Zwrócone, jeśli żądanie używa zakresu szyfrowania, aby klient mógł upewnić się, że zawartość żądania została pomyślnie zaszyfrowana przy użyciu zakresu szyfrowania. |
x-ms-version-id: <DateTime> |
Wersja 2019-12-12 lub nowsza. Ten nagłówek zwraca nieprzezroczystą DateTime wartość, która jednoznacznie identyfikuje obiekt blob. Wartość tego nagłówka wskazuje wersję obiektu blob i może być używana w kolejnych żądaniach dostępu do obiektu blob. |
Treść odpowiedzi
Brak.
Przykładowa odpowiedź
Response Status:
HTTP/1.1 201 Created
Response Headers:
Transfer-Encoding: chunked
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==
x-ms-content-crc64: 77uWZTolTHU
Date: <date>
ETag: "0x8CB171BA9E94B0B"
Last-Modified: <date>
Access-Control-Allow-Origin: http://contoso.com
Access-Control-Expose-Headers: Content-MD5
Access-Control-Allow-Credentials: True
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-version-id: <DateTime>
Autoryzacja
Autoryzacja jest wymagana podczas wywoływania dowolnej operacji dostępu do danych w usłudze Azure Storage. Możesz autoryzować operację Put Blob
zgodnie z poniższym opisem.
Jeśli żądanie określa tagi z nagłówkiem x-ms-tags
żądania, obiekt wywołujący musi spełniać wymagania autoryzacji operacji Ustawianie tagów obiektów blob .
Ważne
Firma Microsoft zaleca używanie Tożsamość Microsoft Entra z tożsamościami zarządzanymi w celu autoryzowania żądań do usługi Azure Storage. Tożsamość Microsoft Entra zapewnia doskonałe zabezpieczenia i łatwość użycia w porównaniu z autoryzacją klucza wspólnego.
Usługa Azure Storage obsługuje autoryzację żądań do danych obiektów blob przy użyciu Tożsamość Microsoft Entra. Dzięki Tożsamość Microsoft Entra możesz użyć kontroli dostępu opartej na rolach (RBAC) platformy Azure, aby udzielić uprawnień podmiotowi zabezpieczeń. Podmiot zabezpieczeń może być użytkownikiem, grupą, jednostką usługi aplikacji lub tożsamością zarządzaną platformy Azure. Podmiot zabezpieczeń jest uwierzytelniany przez Tożsamość Microsoft Entra w celu zwrócenia tokenu OAuth 2.0. Token może następnie służyć do autoryzowania żądania względem usługi Blob Service.
Aby dowiedzieć się więcej na temat autoryzacji przy użyciu Tożsamość Microsoft Entra, zobacz Autoryzowanie dostępu do obiektów blob przy użyciu Tożsamość Microsoft Entra.
Uprawnienia
Poniżej przedstawiono akcję RBAC niezbędną dla użytkownika Microsoft Entra, grupy, tożsamości zarządzanej lub jednostki usługi w celu wywołania Put Blob
operacji oraz najmniej uprzywilejowanej wbudowanej roli RBAC platformy Azure, która obejmuje tę akcję:
-
Akcja RBAC platformy Azure:
- Twórca nowy blokowy obiekt blob: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
- Twórca nowy lub zastąp istniejący blokowy obiekt blob: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- Najmniej uprzywilejowana wbudowana rola:Współautor danych obiektu blob usługi Storage
Aby dowiedzieć się więcej na temat przypisywania ról przy użyciu kontroli dostępu opartej na rolach platformy Azure, zobacz Przypisywanie roli platformy Azure w celu uzyskania dostępu do danych obiektów blob.
Uwagi
Podczas tworzenia obiektu blob należy określić, czy jest to blokowy obiekt blob, uzupełnialne obiekty blob, czy stronicowy obiekt blob, określając wartość nagłówka x-ms-blob-type
. Po utworzeniu obiektu blob nie można zmienić typu obiektu blob, chyba że zostanie usunięty i ponownie utworzony.
W poniższej tabeli opisano maksymalne dozwolone rozmiary bloków i obiektów blob według wersji usługi:
Wersja usługi | Maksymalny rozmiar bloku (za pośrednictwem Put Block ) |
Maksymalny rozmiar obiektu blob (za pośrednictwem Put Block List ) |
Maksymalny rozmiar obiektu blob za pośrednictwem operacji pojedynczego zapisu (za pośrednictwem Put Blob ) |
---|---|---|---|
Wersja 2019-12-12 lub nowsza | 4000 mebibajtów (MiB) | Około 190,7 TiB (4000 miB × 50 000 bloków) | 5000 MiB |
Wersje 2016-05-31 do 2019-07-07 | 100 MiB | Około 4,75 TiB (100 MiB × 50 000 bloków) | 256 MiB |
Wersje starsze niż 2016-05-31 | 4 MiB | Około 195 GiB (4 miB × 50.000 bloków) | 64 MiB |
Jeśli spróbujesz przekazać blokowy obiekt blob, który jest większy niż maksymalny dozwolony rozmiar dla tej wersji usługi lub stronicowy obiekt blob, który jest większy niż 8 TiB, usługa zwraca kod stanu 413 (Jednostka żądania zbyt duża). Usługa Blob Storage zwraca również dodatkowe informacje o błędzie w odpowiedzi, w tym maksymalny dozwolony rozmiar obiektu blob w bajtach.
Aby utworzyć nowy stronicowy obiekt blob, najpierw zainicjuj obiekt blob przez wywołanie metody Put Blob
, a następnie określ maksymalny rozmiar do 8 TiB. Podczas tworzenia stronicowego obiektu blob nie dołączaj zawartości do treści żądania. Po utworzeniu obiektu blob wywołaj metodę Umieść stronę , aby dodać zawartość do obiektu blob lub zmodyfikować go.
Aby utworzyć nowy uzupełnialne obiekty blob, wywołaj Put Blob
metodę , aby utworzyć ją z zawartością o długości 0 bajtów. Po utworzeniu uzupełnialnych obiektów blob wywołaj funkcję Append Block , aby dodać zawartość na końcu.
Jeśli wywołasz metodę Put Blob
zastąpienia istniejącego obiektu blob o tej samej nazwie, wszystkie migawki skojarzone z oryginalnym obiektem blob zostaną zachowane. Aby usunąć skojarzone migawki, najpierw wywołaj polecenie Usuń obiekt blob, a następnie wywołaj polecenie Put Blob
, aby ponownie utworzyć obiekt blob.
Właściwości niestandardowe obiektu blob
Obiekt blob ma właściwości niestandardowe (ustawione za pomocą nagłówków), których można użyć do przechowywania wartości skojarzonych ze standardowymi nagłówkami HTTP. Następnie możesz odczytać te wartości, wywołując polecenie Get Blob Properties (Pobierz właściwości obiektu blob) lub modyfikując je, wywołując polecenie Set Blob Properties (Ustaw właściwości obiektu blob). Nagłówki właściwości niestandardowych i odpowiedni standardowy nagłówek HTTP są wymienione w poniższej tabeli:
Nagłówek HTTP | Niestandardowy nagłówek właściwości obiektu blob |
---|---|
Content-Type |
x-ms-blob-content-type |
Content-Encoding |
x-ms-blob-content-encoding |
Content-Language |
x-ms-blob-content-language |
Content-MD5 |
x-ms-blob-content-md5 |
Cache-Control |
x-ms-blob-cache-control |
Semantyka ustawiania lub utrwalania tych wartości właściwości za pomocą obiektu blob są następujące:
Jeśli klient określa nagłówek właściwości niestandardowej, zgodnie z prefiksem
x-ms-blob
, ta wartość jest przechowywana w obiekcie blob.Jeśli klient określa standardowy nagłówek HTTP, ale nie nagłówek właściwości niestandardowej, wartość jest przechowywana w odpowiedniej właściwości niestandardowej skojarzonej z obiektem blob i jest zwracana przez wywołanie metody
Get Blob Properties
. Jeśli na przykład klient ustawiContent-Type
nagłówek w żądaniu, ta wartość jest przechowywana we właściwości obiektu blobx-ms-blob-content-type
.Jeśli klient ustawia zarówno standardowy nagłówek HTTP, jak i odpowiedni nagłówek właściwości w tym samym żądaniu, żądanie PUT używa wartości podanej dla standardowego nagłówka HTTP, ale wartość określona dla nagłówka właściwości niestandardowej jest utrwalana z obiektem blob i zwracana przez kolejne żądania GET.
Jeśli tagi są podane w nagłówku x-ms-tags
, muszą być zakodowane w ciągu zapytania. Klucze tagów i wartości muszą być zgodne z wymaganiami dotyczącymi nazewnictwa i długości zgodnie z wymaganiami określonymi w Set Blob Tags
pliku .
x-ms-tags
Ponadto nagłówek może zawierać maksymalnie 2 kb tagów. Jeśli wymagana jest więcej tagów, użyj operacji Ustaw tagi obiektów blob .
Jeśli obiekt blob ma aktywną dzierżawę, klient musi określić prawidłowy identyfikator dzierżawy w żądaniu, aby zastąpić obiekt blob. Jeśli klient nie określi identyfikatora dzierżawy lub określa nieprawidłowy identyfikator dzierżawy, usługa Blob Storage zwraca kod stanu 412 (Warunek wstępny nie powiodło się). Jeśli klient określa identyfikator dzierżawy, ale obiekt blob nie ma aktywnej dzierżawy, usługa Blob Storage zwraca również kod stanu 412 (Warunek wstępny nie powiodło się). Jeśli klient określa identyfikator dzierżawy obiektu blob, który jeszcze nie istnieje, usługa Blob Storage zwraca kod stanu 412 (Warunek wstępny nie powiodło się) dla żądań wysyłanych w wersji 2013-08-15 lub nowszej. W przypadku wersji starszych niż 2013-08-15 usługa Blob Storage zwraca kod stanu 201 (Utworzono).
Jeśli istniejący obiekt blob z aktywną dzierżawą zostanie zastąpiony przez operację Put Blob
, dzierżawa będzie kontynuowana w zaktualizowanym obiekcie blob do momentu wygaśnięcia lub wydania.
Put Blob
Operacja jest dozwolona 10 minut na ukończenie programu MiB. Jeśli operacja trwa średnio niż 10 minut na miB, limit czasu operacji przekracza limit czasu.
Zastępowanie archive
obiektu blob kończy się niepowodzeniem i zastąpienie obiektu hot
blob cool
dziedziczy warstwę ze starego obiektu blob, jeśli nie podano nagłówka x-ms-access-tier
.
WygaśnięcieOption
Następujące wartości można wysłać jako x-ms-expiry-option
nagłówek. Ten nagłówek nie uwzględnia wielkości liter.
Opcja wygasania | Opis |
---|---|
RelativeToNow |
Ustawia datę wygaśnięcia względem bieżącej godziny.
x-ms-expiry-time musi być określona jako liczba milisekund do upływu od czasu obecnego. |
Absolute |
x-ms-expiry-time musi być określony jako czas bezwzględny w formacie RFC 1123. |
NeverExpire |
Ustawia obiekt blob na nigdy nie wygasa lub usuwa bieżącą datę wygaśnięcia.
x-ms-expiry-time nie należy określać. |
Semantyka ustawiania daty wygaśnięcia obiektu blob jest następująca:
-
Set Expiry
można ustawić tylko w obiekcie blob, a nie w katalogu. -
Set Expiry
expiryTime
w przeszłości nie jest dozwolone. -
ExpiryTime
Nie można określić wartościexpiryOption
.Never
Rozliczenia
Żądania cenowe mogą pochodzić od klientów korzystających z interfejsów API usługi Blob Storage bezpośrednio za pośrednictwem interfejsu API REST usługi Blob Storage lub biblioteki klienta usługi Azure Storage. Te żądania naliczają opłaty za transakcję. Typ transakcji wpływa na sposób naliczania opłat za konto. Na przykład transakcje odczytu są naliczane do innej kategorii rozliczeniowej niż transakcje zapisu. W poniższej tabeli przedstawiono kategorię rozliczeń dla Put Blob
żądań na podstawie typu konta magazynu:
Operacja | Typ konta magazynu | Kategoria rozliczeń |
---|---|---|
Wstawianie obiektu blob | Blokowy obiekt blob w warstwie Premium Standardowa ogólnego przeznaczenia, wersja 2 Standardowa ogólnego przeznaczenia, wersja 1 |
Operacje zapisu |
Aby dowiedzieć się więcej o cenach dla określonej kategorii rozliczeń, zobacz Azure Blob Storage Cennik.
Zobacz też
Autoryzowanie żądań do usługi Azure Storage
Kody stanu i błędów
Kody błędów usługi Blob Service
Ustawianie limitów czasu dla operacji usługi Blob Service