取得容器 ACL
Get Container ACL
作業可取得指定容器的權限。 這些權限指出是否可以公開存取容器資料。
自 2009-09-19 版起,容器許可權會提供下列選項來管理容器存取:
完整公用讀取許可權:容器和 Blob 數據可以透過匿名要求讀取。 用戶端可以透過匿名要求列舉容器內的 Blob,但無法列舉記憶體帳戶內的容器。
僅限 Blob 的公用讀取許可權:此容器內的 Blob 數據可以透過匿名要求讀取,但無法使用容器數據。 客戶端無法透過匿名要求列舉容器內的 Blob。
沒有公用讀取許可權:帳戶擁有者只能讀取容器和 Blob 數據。
Get Container ACL
也會傳回容器上指定之任何容器層級存取原則的詳細數據,這些原則可能與共用存取簽章搭配使用。 如需詳細資訊,請參閱定義預存存取原則。
容器的所有公開存取皆為匿名,即便是透過共用存取簽章存取亦然。
要求
Get Container ACL
要求的建構如下。 建議您使用 HTTPS。 以您的記憶體帳戶名稱取代 myaccount :
方法 | 要求 URI | HTTP 版本 |
---|---|---|
GET/HEAD |
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl |
HTTP/1.1 |
模擬記憶體服務要求
當您對模擬記憶體服務提出要求時,請將模擬器主機名和 Blob 記憶體埠指定為 127.0.0.1:10000
,後面接著仿真的記憶體帳戶名稱:
方法 | 要求 URI | HTTP 版本 |
---|---|---|
GET/HEAD |
http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl |
HTTP/1.1 |
如需詳細資訊,請參閱使用 Azure 模擬器進行本機 Azure 儲存體開發。
URI 參數
您可以在要求 URI 上指定下列其他參數:
參數 | 描述 |
---|---|
timeout |
選擇性。
timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定 Blob 記憶體作業的逾時。 |
要求錯誤碼
下表說明必要的和選擇性要求標頭:
要求標頭 | 描述 |
---|---|
Authorization |
必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求。 |
Date 或 x-ms-date |
必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求。 |
x-ms-lease-id: <ID> |
選擇性版本 2012-02-12 和更新版本。 如果已指定, Get Container ACL 只有在容器的租用作用中且符合此標識符時,才會成功。 如果沒有作用中的租用或識別碼不相符, 412 (Precondition Failed) 則會傳回 。 |
x-ms-version |
所有已授權要求都需要。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本。 |
x-ms-client-request-id |
選擇性。 提供客戶端產生的不透明值,其中包含設定記錄時記錄的 1 kibibyte (KiB) 字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器接收的要求相互關聯。 如需詳細資訊,請參閱監視 Azure Blob 儲存體。 |
要求本文
無。
回應
回應包括 HTTP 狀態碼、一組回應標頭和回應主體。
狀態碼
成功的作業會傳回狀態碼 200 (OK)。
如需狀態代碼的相關信息,請參閱 狀態和錯誤碼。
回應錯誤碼
這項作業的回應包括下列標頭。 回應也可能包括其他標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協議規格。
回應標頭 | 描述 |
---|---|
x-ms-blob-public-access |
指出是否可以公開存取容器中的資料,以及存取的層級。 可能的值包括: - container :表示容器和 Blob 數據的完整公用讀取許可權。 用戶端可以透過匿名要求列舉容器內的 Blob,但無法列舉記憶體帳戶內的容器。- blob: 表示 Blob 的公用讀取許可權。 此容器內的 Blob 資料可以透過匿名要求讀取,但無法使用容器數據。 客戶端無法透過匿名要求列舉容器內的 Blob。- true: 僅限 2016-05-31 之前的版本。 指出容器已標示為使用 2009-09-19 之前的版本進行完整公用讀取存取。 自 2016-05-31 版起,此值會傳回為 。container 如果回應中未傳回此標頭,則容器是帳戶擁有者的私人。 |
ETag |
容器的實體標記。 如果要求版本是 2011-08-18 或更新版本,ETag 值會以引號括住。 |
Last-Modified |
傳回上次修改容器的日期和時間。 日期格式會依照 RFC 1123。 如需詳細資訊,請參閱 以錯誤碼表示日期/時間值。 修改容器或其屬性或中繼資料的任何作業,都會更新上次修改時間。 Blob 上的作業不會影響容器上次修改的時間。 |
x-ms-request-id |
可唯一識別提出的要求,並可用來對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答。 |
x-ms-version |
指出用來執行要求的服務版本。 針對針對 2009-09-19 版和更新版本提出的要求,會傳回此標頭。 |
Date |
服務所產生的 UTC 日期/時間值,表示起始響應的時間。 |
x-ms-client-request-id |
可用來針對要求及其對應的回應進行疑難解答。 如果此標頭存在於要求中,且值包含不超過 1,024 個可見的 ASCII 字元,則此標頭的值等於標頭的值 x-ms-client-request-id 。
x-ms-client-request-id 如果要求中沒有標頭,回應中就不會有此標頭。 |
回應本文
如果已為容器指定容器層級存取原則,Get Container ACL
會在回應主體中傳回簽署的識別碼和存取原則。
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>unique-value</Id>
<AccessPolicy>
<Start>start-time</Start>
<Expiry>expiry-time</Expiry>
<Permission>abbreviated-permission-list</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
範例回應
Response Status:
HTTP/1.1 200 OK
Response Headers:
Transfer-Encoding: chunked
x-ms-blob-public-access: container
Date: Sun, 25 Sep 2011 20:28:22 GMT
ETag: "0x8CAFB82EFF70C46"
Last-Modified: Sun, 25 Sep 2011 19:42:18 GMT
x-ms-version: 2011-08-18
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
<AccessPolicy>
<Start>2009-09-28T08:49:37.0000000Z</Start>
<Expiry>2009-09-29T08:49:37.0000000Z</Expiry>
<Permission>rwd</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
授權
此 Get Container ACL
作業僅支援 共用金鑰授權。
備註
除非帳戶擁有者已指定容器內的 Blob 可供公用讀取存取,或已透過共用存取簽章在容器中提供資源,否則帳戶擁有者只能讀取特定記憶體帳戶中的數據。
計費
定價要求可能源自使用 Blob 記憶體 API 的用戶端,無論是直接透過 Blob 記憶體 REST API,還是來自 Azure 記憶體用戶端連結庫。 這些要求會累算每個交易的費用。 交易類型會影響帳戶的收費方式。 例如,讀取交易會累算到與寫入交易不同的計費類別。 下表顯示根據記憶體帳戶類型的要求計費類別 Get Container ACL
:
作業 | 儲存體帳戶類型 | 計費類別 |
---|---|---|
取得容器 ACL | 進階區塊 Blob 標準一般用途 v2 |
其他作業 |
取得容器 ACL | 標準一般用途 v1 | 讀取作業 |
若要瞭解指定計費類別的定價,請參閱 Azure Blob 儲存體 定價。
另請參閱
限制容器和 Blob 的存取
定義預存的存取原則
Set Container ACL (設定容器 ACL)
授權對 Azure 記憶體的要求
狀態和錯誤碼
Blob 記憶體錯誤碼