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