設定 Blob 到期
作業 Set Blob Expiry
會設定現有 Blob 的到期日。 此作業只允許在已啟用階層命名空間的帳戶上。 適用於服務版本 2020-02-10 和更新版本。
要求
Set Blob Expiry
要求的建構如下。 建議您使用 HTTPS。 以記憶體帳戶名稱取代 myaccount :
PUT 方法要求 URI | HTTP 版本 |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=expiry |
HTTP/1.1 |
模擬儲存體服務 URI
當您對仿真的記憶體服務提出要求時,請將模擬器主機名和 Blob 記憶體埠指定為 127.0.0.1:10000
,後面接著仿真的記憶體帳戶名稱:
PUT 方法要求 URI | HTTP 版本 |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=expiry |
HTTP/1.1 |
如需詳細資訊,請參閱使用 Azure 模擬器進行本機 Azure 儲存體開發。
URI 參數
您可以在要求 URI 上指定下列其他參數:
參數 | 描述 |
---|---|
timeout |
選擇性。
timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定 Blob 記憶體作業的逾時。 |
要求標頭
下表說明必要的和選擇性要求標頭:
要求標頭 | 描述 |
---|---|
Authorization |
必要。 指定驗證配置、帳戶名稱及簽章。 如需詳細資訊 ,請參閱 Azure 記憶體服務的驗證 。 |
Date 或 x-ms-date |
必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱 Azure 記憶體服務的驗證。 |
x-ms-version |
所有已驗證要求的必要項。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本。 |
x-ms-lease-id:<ID> |
如果 Blob 具有作用中租用,則為必要項目。 若要在具有作用中租用的 Blob 執行這項作業,請指定此標頭的有效租用識別碼。 |
x-ms-expiry-option |
必要。 若要指定要求的到期日選項,請參閱 ExpiryOption。 |
x-ms-expiry-time |
選擇性。 檔案設定為到期的時間。 到期日的格式會根據 x-ms-expiry-option 而有所不同。 如需詳細資訊,請參閱 ExpiryOption。 |
x-ms-client-request-id |
選擇性。 提供客戶端產生的不透明值,其中包含 1-kibibyte (KiB) 設定記錄時記錄在記錄中的字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器收到的要求相互關聯。 如需詳細資訊,請參閱監視 Azure Blob 儲存體。 |
ExpiryOption
您可以將下列值當做標頭傳送 x-ms-expiry-option
。 此標頭不區分大小寫。
到期選項 | Description |
---|---|
RelativeToCreation |
設定相對於檔案建立時間的到期日。
x-ms-expiry-time 必須指定為從建立時間經過的毫秒數。 |
RelativeToNow |
設定相對於目前時間的到期日。
x-ms-expiry-time 必須指定為從目前時間經過的毫秒數。 |
Absolute |
x-ms-expiry-time 必須以 RFC 1123 格式指定為絕對時間。 |
NeverExpire |
將檔案設定為永不過期或移除目前的到期日。
x-ms-expiry-time 不得指定。 |
要求本文
此要求的要求本文是空的。
範例要求
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=expiry HTTP/1.1
Request Headers:
x-ms-version: 2020-02-10
x-ms-date: Sun, 25 Sep 2020 14:37:35 GMT
x-ms-expiry-option: RelativeTonow
x-ms-expiry-time: 30000
Authorization: SharedKey myaccount:J4ma1VuFnlJ7yfk/Gu1GxzbfdJloYmBPWlfhZ/xn7GI=
回應
回應包括 HTTP 狀態碼和一組回應標頭。
狀態碼
成功的作業會傳回狀態碼 200 (OK)。
如需狀態代碼的詳細資訊,請參閱 狀態和錯誤碼。
回應標頭
這項作業的回應包括下列標頭。 回應也可能包括其他標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協議規格。
回應標頭 | 描述 |
---|---|
ETag |
包含值,表示檔案的版本。 此值會以引弧括住。 |
Last-Modified |
傳回上次修改目錄的日期和時間。 日期格式會依照 RFC 1123。 如需詳細資訊,請參閱 代表標頭中的日期/時間值。 修改目錄或其屬性的任何作業,皆會更新上次修改時間。 檔案上的作業不會影響目錄的上次修改時間。 |
x-ms-request-id |
可唯一識別已提出的要求,並可用來對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答。 |
x-ms-version |
指出用來執行要求的 Blob 記憶體版本。 |
Date |
服務所產生的 UTC 日期/時間值,表示起始響應的時間。 |
範例回應
Response Status:
HTTP/1.1 200 OK
Response Headers:
Date: Sun, 25 Sep 2011 23:47:09 GMT
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
授權
在 Azure 記憶體中呼叫任何數據存取作業時,需要授權。 您可以授權 Set Blob Expiry
作業,如下所示。
重要
Microsoft 建議搭配使用 Microsoft Entra ID 搭配受控識別來授權對 Azure 記憶體的要求。 相較於共用密鑰授權,Microsoft Entra ID 提供更高的安全性和方便使用。
Azure 記憶體支援使用 Microsoft Entra ID 來授權 Blob 數據的要求。 使用 Microsoft Entra ID,您可以使用 Azure 角色型存取控制 (Azure RBAC) 授與安全性主體的許可權。 安全性主體可能是使用者、群組、應用程式服務主體或 Azure 受控識別。 安全性主體會由 Microsoft Entra ID 進行驗證,以傳回 OAuth 2.0 令牌。 權杖接著可以用來授權對 Blob 服務的要求。
若要深入瞭解使用 Microsoft Entra ID 授權,請參閱使用 Microsoft Entra ID 授權 Blob 的存取權。
權限
以下是 Microsoft Entra 使用者、群組、受控識別或服務主體呼叫Set Blob Expiry
作業所需的 RBAC 動作,以及包含此動作的最低許可權內建 Azure RBAC 角色:
- Azure RBAC 動作:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- 最低特殊許可權的內建角色:記憶體 Blob 數據參與者
若要深入瞭解如何使用 Azure RBAC 指派角色,請參閱 指派 Azure 角色以存取 Blob 數據。
備註
在 Blob 上設定到期日的語意如下:
-
Set Expiry
只能在檔案上設定,而不能設定目錄。 -
Set Expiry
expiryTime
不允許過去使用 。 -
ExpiryTime
無法以expiryOption
的值Never
指定。
注意
無法使用 Blob 虛刪除功能還原過期的檔案。 即使您已啟用帳戶的虛刪除,過期的檔案也不會在到期時變成虛刪除的 Blob。 只有已刪除的檔案會變成虛刪除的檔案。
計費
定價要求可能源自使用 Blob 記憶體 API 的用戶端,無論是直接透過 Blob 記憶體 REST API,還是來自 Azure 記憶體用戶端連結庫。 這些要求會累算每個交易的費用。 交易類型會影響帳戶的收費方式。 例如,讀取交易會累算到與寫入交易不同的計費類別。 下表根據記憶體帳戶類型顯示要求的計費類別 Set Blob Expiry
:
作業 | 儲存體帳戶類型 | 計費類別 |
---|---|---|
設定 Blob 到期 | 進階區塊 Blob 標準一般用途 v2 |
其他作業 |
設定 Blob 到期 | 標準一般用途 v1 | 寫入作業 |
若要瞭解指定計費類別的定價,請參閱 Azure Blob 儲存體 定價。