Praca z kontenerem głównym
Kontener główny służy jako domyślny kontener dla konta magazynu. Konto magazynu może mieć jeden kontener główny. Kontener główny musi zostać jawnie utworzony i musi mieć nazwę $root
.
Obiekt blob przechowywany w kontenerze głównym może zostać rozwiązany bez odwoływania się do nazwy kontenera głównego, dzięki czemu obiekt blob może być adresowany na najwyższym poziomie hierarchii konta magazynu. Na przykład można odwołać się do obiektu blob znajdującego się w kontenerze głównym w następujący sposób:
https://myaccount.blob.core.windows.net/mywebpage.html
Zarządzanie kontenerem głównym
Aby użyć kontenera głównego z kontem magazynu, utwórz nowy kontener o nazwie $root
. Następujące przykładowe żądanie pokazuje, jak utworzyć kontener główny:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/$root?restype=container HTTP/1.1
Request Headers:
x-ms-version: 2011-08-18
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT
x-ms-meta-Name: StorageSample
x-ms-blob-public-access: container
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=
Możesz również usunąć kontener główny, jeśli nie jest już potrzebny.
Podobnie jak w przypadku innych kontenerów, kontener główny można udostępnić na potrzeby anonimowego dostępu publicznego. Kontener można ustawić jako publiczny, ustawiając x-ms-blob-public-access
nagłówek podczas tworzenia kontenera lub wywołując opcję Ustaw listę kontroli dostępu kontenera po jego utworzeniu. Aby uzyskać więcej informacji, zobacz Ograniczanie dostępu do kontenerów i obiektów blob .
Jeśli kontener główny jest obecny, zostanie wyświetlony podczas wykonywania operacji Wyświetlanie kontenerów na koncie magazynu.
Podczas wykonywania operacji Wyświetlanie listy obiektów blob względem kontenera głównego kontener główny nie jest wyświetlany w zwracanych adresach URL zasobów dla obiektów blob. Następująca składnia żądania pokazuje, jak wywołać metodę List Blobs
względem kontenera głównego:
GET https://myaccount.blob.core.windows.net/$root?restype=container&comp=list HTTP/1.1
Ważne
Obiekt blob w kontenerze głównym nie może zawierać ukośnika (/) w nazwie.
Przykłady
W poniższych przykładach pokazano, jak pracować z zasobami kontenera i obiektów blob, w tym z kontenerem głównym:
Operacje GET
Aby wyświetlić listę kontenerów na koncie magazynu:
GET https://myaccount.blob.core.windows.net/?comp=list
Aby uzyskać właściwości kontenera:
GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container
Aby wyświetlić listę obiektów blob w kontenerze o nazwie mycontainer
:
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list
Aby wyświetlić listę obiektów blob w kontenerze głównym:
GET https://myaccount.blob.core.windows.net/$root?restype=container&comp=list
Aby odczytać obiekt blob o nazwie myfile
z kontenera o nazwie mycontainer
:
GET https://myaccount.blob.core.windows.net/mycontainer/myfile
Aby odczytać obiekt blob o nazwie myphoto
z kontenera głównego:
GET https://myaccount.blob.core.windows.net/myphoto
Możesz również jawnie odwołać się do kontenera głównego:
GET https://myaccount.blob.core.windows.net/$root/myphoto
Aby odczytać metadane obiektu blob w obiekcie blob w kontenerze głównym:
GET https://myaccount.blob.core.windows.net/myphoto?comp=metadata
Możesz również jawnie odwołać się do kontenera głównego:
GET https://myaccount.blob.core.windows.net/$root/myphoto?comp=metadata
Uwaga
Należy zachować ostrożność, aby uniknąć dołączania ukośnika końcowego (/) podczas odwoływania się do obiektu blob w kontenerze głównym. Na przykład adres URL, taki jak poniżej, powoduje teraz kod stanu 400 (nieprawidłowe żądanie):
https://myaccount.blob.core.windows.net/myblob/
W powyższym przykładzie usługa Blob odczytuje nazwę kontenera jako myblob
i oczekuje, że po ukośniku zostanie wyświetlona nazwa obiektu blob. Żądanie jest źle sformułowane z powodu brakującej nazwy obiektu blob.
Następujący adres URL jest prawidłowy dla operacji na obiekcie blob w kontenerze głównym:
https://myaccount.blob.core.windows.net/myblob
Operacje PUT
Aby utworzyć kontener o nazwie mycontainer
:
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container
Aby utworzyć obiekt blob o nazwie myblob
w kontenerze głównym:
PUT https://myaccount.blob.core.windows.net/myblob
Można również jawnie określić kontener główny:
PUT https://myaccount.blob.core.windows.net/$root/myblob
Aby utworzyć obiekt blob o nazwie myblob
w kontenerze o nazwie mycontainer
:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob
Aby utworzyć obiekt blob o nazwie photos/myphoto
w kontenerze o nazwie mycontainer
:
PUT https://myaccount.blob.core.windows.net/mycontainer/photos/myphoto
Aby ustawić metadane obiektu blob o nazwie myblob
w kontenerze głównym:
PUT https://myaccount.blob.core.windows.net/myblob?comp=metadata
Operacje USUWANIA
Aby usunąć kontener o nazwie mycontainer
:
DELETE https://myaccount.blob.core.windows.net/mycontainer?restype=container
Aby usunąć kontener główny:
DELETE https://myaccount.blob.core.windows.net/$root?restype=container
Aby usunąć obiekt blob myblob
z kontenera głównego:
DELETE https://myaccount.blob.core.windows.net/myblob
Można również jawnie określić kontener główny:
DELETE https://myaccount.blob.core.windows.net/$root/myblob
Zobacz też
Operacje HTTP na zasobach usługi Blob Service
Nazewnictwo i odwoływanie się do kontenerów, obiektów blob i metadanych
Przechowywanie wersji dla usług Azure Storage