Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Operacja Incremental Copy Blob
kopiuje migawkę źródłowego stronicowego obiektu blob do docelowego stronicowego obiektu blob. Do miejsca docelowego przenoszone są tylko różnice w stosunku do poprzednio skopiowanej migawki. Skopiowane migawki są pełnymi kopiami oryginalnej migawki i można je odczytywać lub kopiować z nich w zwykły sposób. Ten interfejs API jest obsługiwany od wersji REST 2016-05-31.
Żądanie
Żądanie Incremental Copy Blob
można skonstruować w następujący sposób. Zalecany jest protokół HTTPS. Zastąp myaccount ciąg nazwą konta magazynu, mycontainer nazwą kontenera, a myblob nazwą docelowego obiektu blob. Parametr comp
zapytania o wartości incrementalcopy
, wskazuje, że to żądanie ma na celu utworzenie migawki przyrostowej.
Identyfikator URI żądania metody PUT | Wersja protokołu HTTP |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=incrementalcopy |
Protokół HTTP/1.1 |
Identyfikator URI usługi magazynu emulowanego
Po wysłaniu żądania względem emulowanej usługi magazynu określ nazwę hosta emulatora i port usługi Azure Blob Storage jako 127.0.0.1:10000, a następnie nazwę emulowanego konta magazynu. Wskaż również, że to żądanie dotyczy kopii przyrostowej, ustawiając comp
parametr zapytania na incrementalcopy
.
Identyfikator URI żądania metody PUT | Wersja protokołu HTTP |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=incrementalcopy |
Protokół HTTP/1.1 |
Aby uzyskać więcej informacji, zobacz Use Azurite emulator for local Azure Storage development.
Parametry identyfikatora URI
Możesz określić następujące dodatkowe parametry dla identyfikatora URI żądania.
Parametr | Opis |
---|---|
timeout |
Opcjonalny. Parametr timeout jest wyrażony w sekundach. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji usługi Blob Storage. |
Nagłówki zapytań
W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań.
Nagłówek żądania | Opis |
---|---|
Authorization |
To jest 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 |
To jest wymagane. Określa uniwersalny czas koordynowany (UTC) dla żądania. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage. |
x-ms-version |
Wymagane dla wszystkich autoryzowanych żądań i opcjonalne dla żądań anonimowych. Określa wersję operacji do użycia dla tego żądania. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji usług Azure Storage. |
If-Modified-Since |
Opcjonalny. Wartość DateTime . Określ ten nagłówek warunkowy, aby skopiować obiekt blob tylko wtedy, gdy docelowy obiekt blob został zmodyfikowany od określonej daty/godziny. Jeśli docelowy obiekt blob nie został zmodyfikowany, usługa Blob Storage zwraca kod stanu 412 (Niepowodzenie warunku wstępnego). |
If-Unmodified-Since |
Opcjonalny. Wartość DateTime . Określ ten nagłówek warunkowy, aby skopiować obiekt blob tylko wtedy, gdy docelowy obiekt blob nie został zmodyfikowany od określonej daty/godziny. Jeśli docelowy obiekt blob został zmodyfikowany, usługa Blob Storage zwraca kod stanu 412 (Niepowodzenie warunku wstępnego). |
If-Match |
Opcjonalny.
ETag Wartość. Określ wartość tego nagłówka warunkowego ETag , aby skopiować obiekt blob tylko wtedy, gdy określona ETag wartość jest zgodna z wartością ETag istniejącego docelowego obiektu blob.
ETag Jeśli dla docelowego obiektu blob nie jest zgodny z ETag określonym dla If-Match , Blob Storage zwraca kod stanu 412 (Warunek wstępny nie powiódł się). |
If-None-Match |
Opcjonalny. Wartość ETag lub symbol wieloznaczny (* ).Określ wartość tego nagłówka warunkowego ETag , aby skopiować obiekt blob tylko wtedy, gdy określona ETag wartość nie jest zgodna z wartością ETag docelowego obiektu blob.Określ symbol wieloznaczny ( * ), aby wykonać operację tylko wtedy, gdy docelowy obiekt blob nie istnieje.Jeśli określony warunek nie zostanie spełniony, usługa Blob Storage zwróci kod stanu 412 (Niepowodzenie warunku wstępnego). |
x-ms-copy-source:name |
To jest wymagane. Określa nazwę migawki obiektu blob strony źródłowej. Ta wartość to adres URL o długości do 2 kibibajtów (KiB), który określa migawkę stronicowego obiektu blob. Wartość powinna być zakodowana w adresie URL, tak jak w identyfikatorze URI żądania. Źródłowy identyfikator URI obiektu blob można autoryzować na jeden z dwóch sposobów: Źródłowy identyfikator URI obiektu blob może odwoływać się do migawki stronicowego obiektu blob, ale musi zawierać token sygnatury dostępu współdzielonego (SAS), który został utworzony na podstawowym obiekcie blob migawki. Pole podpisanego zasobu ( sr ) sygnatury dostępu współdzielonego powinno być ustawione na b wartość . Na przykład: https://<account-name>.blob.core.windows.net/<container-name>/<page-blob-name>?snapshot=2022-07-23T00:14:45.3964054Z&sp=r&st=2022-07-23T00:15:38Z&se=2022-07-23T08:15:38Z&spr=https&sv=2021-06-08&sr=b&sig=<signature> .Źródłowy identyfikator URI obiektu blob może odwoływać się do migawki publicznego stronicowego obiektu blob; Na przykład https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime> . |
x-ms-client-request-id |
Opcjonalny. Zapewnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem znaków 1-KiB rejestrowanym w dziennikach 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 Monitor Azure Blob Storage. |
Ciało żądania
Żaden.
Odpowiedź
Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi.
Kod stanu
Pomyślna operacja zwraca kod stanu 202 (Zaakceptowane). Aby uzyskać informacje o kodach stanu, zobacz Stan i kody błędów.
Nagłówki odpowiedzi
Odpowiedź dla tej operacji 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 .
Składnia | Opis |
---|---|
ETag |
Zawiera wartość, której można użyć do warunkowego wykonywania operacji. Wartość jest w cudzysłowie. |
Last-Modified |
Data i godzina ostatniej modyfikacji blobu. Aby uzyskać więcej informacji, zobacz Reprezentacja wartości daty/godziny w nagłówkach. Każda operacja zapisu na obiekcie blob (w tym aktualizacje metadanych lub właściwości obiektu blob) zmienia czas ostatniej modyfikacji obiektu blob. |
x-ms-request-id |
Jednoznacznie identyfikuje żądanie, które zostało wykonane i może sł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żywaną do uruchomienia żądania. |
Date |
Wartość daty/godziny UTC wskazująca godzinę, o której zainicjowano odpowiedź. Usługa generuje tę wartość. |
x-ms-copy-id: <id> |
Identyfikator ciągu dla tej operacji kopiowania. Użyj z Get Blob Properties , aby sprawdzić stan tej operacji kopiowania, lub przekaż do Abort Copy Blob , aby zatrzymać oczekującą kopię. |
x-ms-copy-status: pending |
Stan operacji kopiowania. Jest to zawsze oczekujące, aby wskazać, że kopiowanie zostało rozpoczęte i jest w toku. |
x-ms-client-request-id |
Może służyć do rozwiązywania problemów z żądaniami i odpowiadającymi odpowiedziami. Wartość tego nagłówka jest równa wartości nagłówka x-ms-client-request-id , jeśli jest obecna w żądaniu. Wartość jest najwyżej 1024 widocznymi znakami ASCII. Jeśli nagłówek x-ms-client-request-id nie znajduje się w żądaniu, nie będzie on obecny w odpowiedzi. |
Ciało odpowiedzi
Żaden.
Przykładowa odpowiedź
Poniżej znajduje się przykładowa odpowiedź na żądanie wykonania kopii przyrostowej:
Response Status:
HTTP/1.1 202 Accepted
Response Headers:
Last-Modified: <date>
ETag: "0x8CEB669D794AFE2"
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402
x-ms-version: 2016-05-31
x-ms-copy-id: 1f812371-a41d-49e6-b123-f4b542e851c5
x-ms-copy-status: pending
Date: <date>
Autoryzacja
Autoryzacja jest wymagana podczas wywoływania dowolnej operacji dostępu do danych w usłudze Azure Storage. W poniższej sekcji opisano, w jaki sposób można autoryzować obiekt docelowyIncremental Copy Blob
operacji. Dostęp do źródłowego obiektu blob lub pliku jest autoryzowany oddzielnie, zgodnie z opisem w szczegółach nagłówka żądania x-ms-copy-source
.
Ważne
Firma Microsoft zaleca używanie identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi w celu autoryzowania żądań do usługi Azure Storage. Identyfikator Entra firmy Microsoft zapewnia lepsze zabezpieczenia i łatwość użycia w porównaniu z autoryzacją klucza współdzielonego.
- Microsoft Entra ID (zalecane)
-
sygnatur dostępu współdzielonego (SAS)
- klucz udostępniony
Usługa Azure Storage obsługuje używanie identyfikatora Entra firmy Microsoft do autoryzowania żądań do danych obiektów blob. Za pomocą identyfikatora Entra firmy Microsoft 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 Microsoft Entra ID, aby zwrócić token 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 o autoryzacji przy użyciu identyfikatora Entra firmy Microsoft, zobacz Autoryzowanie dostępu do obiektów blob przy użyciu identyfikatora Entra firmy Microsoft.
Uprawnienia
Poniżej wymieniono akcję RBAC niezbędną dla użytkownika microsoft Entra, grupy, tożsamości zarządzanej lub jednostki usługi w celu wywołania operacji Incremental Copy Blob
oraz najmniej uprzywilejowanej wbudowanej roli RBAC platformy Azure, która obejmuje tę akcję:
- Akcja RBAC platformy Azure:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write (do zapisu w istniejącym obiekcie blob) lub Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action (do zapisywania nowego obiektu blob w miejscu docelowym)
- wbudowana rola Najmniej uprzywilejowana: współautor danych obiektu blob usługiStorage
Aby dowiedzieć się więcej na temat przypisywania ról przy użyciu kontroli dostępu opartej na rolach platformy Azure, zobacz Assign an Azure role for access to blob data.
Uwagi
Miejsce docelowe kopii przyrostowej musi nie istnieć lub musi zostać utworzone przy użyciu poprzedniej kopii przyrostowej z tego samego źródłowego obiektu blob. Po utworzeniu docelowy obiekt blob jest trwale skojarzony ze źródłem i może być używany tylko w przypadku kopii przyrostowych. Interfejsy Get Blob Properties
API i List Blobs
wskazują, czy obiekt blob jest przyrostowym obiektem blob kopii utworzonym w ten sposób.
Nie można bezpośrednio pobrać przyrostowych obiektów blob kopiowania. Jedynymi obsługiwanymi operacjami są Get Blob Properties
, Incremental Copy Blob
, i Delete Blob
. Skopiowane migawki można odczytywać i usuwać w zwykły sposób.
Kopia przyrostowa jest wykonywana asynchronicznie w usłudze i należy sondować w celu ukończenia. Zapoznaj się z interfejsem API, Copy Blob
aby uzyskać szczegółowe informacje na temat sondowania oczekującej kopii. Po zakończeniu kopiowania docelowy obiekt blob będzie zawierał nową migawkę. Interfejs Get Blob Properties
API zwraca czas migawki nowo utworzonej migawki.
Przy pierwszym wykonywaniu kopii przyrostowej w docelowym obiekcie blob tworzony jest nowy obiekt blob z migawką, która jest w pełni skopiowana ze źródła. Każde kolejne wywołanie metody to Incremental Copy Blob
tworzy nową migawkę, kopiując tylko zmiany różnicowe z poprzednio skopiowanej migawki.
Zmiany różnicowe są obliczane na serwerze przez wywołanie migawki źródłowego Get Page Ranges
obiektu blob. Ustawia prevsnapshot
na ostatnio skopiowaną migawkę. W związku z tym te same ograniczenia mają Get Page Ranges
zastosowanie do Incremental Copy Blob
. W szczególności należy skopiować migawki w kolejności rosnącej, a jeśli źródłowy obiekt blob zostanie ponownie utworzony przy użyciu lub Put Blob
Copy Blob
, Incremental Copy Blob
nowe migawki zakończą się niepowodzeniem.
Dodatkowe miejsce w pamięci zajmowane przez skopiowaną migawkę to rozmiar danych różnicowych przesyłanych podczas kopiowania. Ten rozmiar można określić, wykonując różnicowe Get Page Ranges
wywołanie interfejsu API na migawce, aby porównać ją z poprzednią migawką.
Zobacz także
autoryzowanie żądań do usługi Azure Storage
kody stanu i błędów
Ustawianie limitów czasu dla operacji usługi Blob Storage