Azure 儲存體 blob 清查功能可讓您一覽儲存體帳戶中的容器、blob、快照集和 blob 版本。 使用清查報表來了解 blob 和容器的各種屬性,例如您的資料大小總計、年齡、加密狀態、非永久性原則和合法保存等等。 此報表供應商務和合規性需求方面的資料總覽。
若要深入了解 blob 清查報表,請參閱 Azure 儲存體 blob 清查。
將具有一或多個規則的原則新增至您的儲存體帳戶,以啟用 blob 清查報表。 使用 Azure 入口網站來新增、編輯或移除原則。
啟用清查報表
登入 Azure 入口網站以開始進行操作。
找出您的儲存體帳戶,然後顯示帳戶概觀。
在 [資料管理] 下方選取 [Blob 清查]。
選取 [新增您的第一個清查規則]。
即會出現 [新增規則] 頁面。
在 [新增規則] 頁面中,命名新規則。
選擇將儲存清查報告的容器。
在 [要清查的物件類型] 下方,選擇是否要建立 blob 或容器的報表。
如果您選取 [Blob],然後在 [Blob 子類型] 下方選擇您要納入報表的 blob 類型,以及是否要在清查報表中包含 blob 版本和/或快照集。
注意
僅針對未啟用階層命名空間功能的帳戶,才會顯示包含 Blob 版本的選項。
您必須在帳戶中啟用版本和快照集,才能在啟用對應選項的情況下儲存新規則。
選取您要納入報表的欄位,以及報表的格式。
選擇產生報表的頻率。
您可以選擇是否要在清查報表中加入前置詞相符,以篩選 blob。
選取 [儲存]。
您可以使用 Azure PowerShell 模組來新增、編輯或移除原則。
開啟 Windows PowerShell 命令視窗。
確定您具備最新的 Azure PowerShell 模組。 請參閱安裝 Azure PowerShell 模組。
使用 Connect-AzAccount 命令登入 Azure 訂用帳戶並遵循畫面上的指示。
Connect-AzAccount
如果您的身分識別與多個訂用帳戶相關聯,請設定使用中的訂用帳戶。
$context = Get-AzSubscription -SubscriptionId <subscription-id>
Set-AzContext $context
使用訂閱識別碼取代 <subscription-id> 預留位置值。
取得定義想要使用儲存體帳戶的儲存體帳戶內容。
$storageAccount = Get-AzStorageAccount -ResourceGroupName "<resource-group-name>" -AccountName "<storage-account-name>"
$ctx = $storageAccount.Context
使用 New-AzStorageBlobInventoryPolicyRule 命令,建立清查規則。 每個規則都會列出報表欄位。 如需報表欄位的完整清單,請參閱 Azure 儲存體 blob 清查。
$containerName = "my-container"
$rule1 = New-AzStorageBlobInventoryPolicyRule -Name Test1 -Destination $containerName -Disabled -Format Csv -Schedule Daily -PrefixMatch con1,con2 `
-ContainerSchemaField Name,Metadata,PublicAccess,Last-modified,LeaseStatus,LeaseState,LeaseDuration,HasImmutabilityPolicy,HasLegalHold
$rule2 = New-AzStorageBlobInventoryPolicyRule -Name test2 -Destination $containerName -Format Parquet -Schedule Weekly -BlobType blockBlob,appendBlob -PrefixMatch aaa,bbb `
-BlobSchemaField name,Last-Modified,Metadata,LastAccessTime
$rule3 = New-AzStorageBlobInventoryPolicyRule -Name Test3 -Destination $containerName -Format Parquet -Schedule Weekly -IncludeBlobVersion -IncludeSnapshot -BlobType blockBlob,appendBlob -PrefixMatch aaa,bbb `
-BlobSchemaField name,Creation-Time,Last-Modified,Content-Length,Content-MD5,BlobType,AccessTier,AccessTierChangeTime,Expiry-Time,hdi_isfolder,Owner,Group,Permissions,Acl,Metadata,LastAccessTime
$rule4 = New-AzStorageBlobInventoryPolicyRule -Name test4 -Destination $containerName -Format Csv -Schedule Weekly -BlobType blockBlob -BlobSchemaField Name,BlobType,Content-Length,Creation-Time
使用 Set-AzStorageBlobInventoryPolicy 來建立 blob 清查原則。 使用 -Rule 參數,將規則傳送至這個命令。
$policy = Set-AzStorageBlobInventoryPolicy -StorageAccount $storageAccount -Rule $rule1,$rule2,$rule3,$rule4
您可以透過 Azure CLI 來新增、編輯或移除原則。
首先,開啟 Azure Cloud Shell,或若已在本機安裝 Azure CLI,請開啟 Windows PowerShell 等命令主控台應用程式。
如果您的身分識別與多個訂用帳戶相關聯,請設定使用中的訂用帳戶。
az account set --subscription <subscription-id>
使用訂閱識別碼取代 <subscription-id> 預留位置值。
在 JSON 文件中定義原則的規則。 以下顯示名為 policy.json 的範例 JSON 檔案內容。
{
"enabled": true,
"type": "Inventory",
"rules": [
{
"enabled": true,
"name": "inventoryPolicyRule2",
"destination": "mycontainer",
"definition": {
"filters": {
"blobTypes": [
"blockBlob"
],
"prefixMatch": [
"inventoryprefix1",
"inventoryprefix2"
],
"includeSnapshots": true,
"includeBlobVersions": true
},
"format": "Csv",
"schedule": "Daily",
"objectType": "Blob",
"schemaFields": [
"Name",
"Creation-Time",
"Last-Modified",
"Content-Length",
"Content-MD5",
"BlobType",
"AccessTier",
"AccessTierChangeTime",
"Snapshot",
"VersionId",
"IsCurrentVersion",
"Metadata"
]
}
}
]
}
使用 az storage account blob-inventory-policy create 命令,建立 blob 清查原則。 使用 --policy 參數提供 JSON 文件的名稱。
az storage account blob-inventory-policy create -g myresourcegroup --account-name mystorageaccount --policy @policy.json
停用清查報告
雖然您可以停用個別報告,但您也可以完全防止 Blob 清查執行。
登入 Azure 入口網站。
找出您的儲存體帳戶,然後顯示帳戶概觀。
在 [資料管理] 下方選取 [Blob 清查]。
選取 [Blob 清查設定],然後在 [Blob 清查設定] 窗格中,清除 [啟用 Blob 清查] 核取方塊,然後選取 [儲存]。
清除 [啟用 Blob 清查] 核取方塊會暫停所有 Blob 清查執行。 如果您想要繼續執行清查,可在稍後選取此核取方塊。
訂閱 Blob 清查原則已完成事件
您可以訂閱 Blob 物件清查已完成事件,以接收清查執行結果的相關資訊。 當清查執行完成定義清查原則的規則時,就會觸發此事件。 如果清查執行失敗,並在使用者開始執行之前發生錯誤,也會發生此事件。 例如,無效的原則或是目的地容器不存在時所發生的錯誤將會觸發事件。
登入 Azure 入口網站。
找出您的儲存體帳戶,然後顯示帳戶概觀。
在左側功能表中,選取 [ 事件]。
選取 [+ 事件訂用帳戶]。
[ 建立事件訂閱] 頁面隨即出現。
在 [ 建立事件訂閱] 頁面中,為您的事件訂用帳戶命名,並使用預設架構事件方格架構。
在 [事件類型] 下,選擇 [Blob 清查已完成]。
在 [端點詳細數據] 下,選擇 [記憶體佇列] 作為 [端點類型],然後選取 [設定端點]。
在 [ 佇列] 頁面中,選擇訂用帳戶、記憶體帳戶,並建立新的佇列。 為您的佇列命名,然後按兩下 [ 建立]。
如果您想要篩選事件的主旨或其屬性,請選擇性地選取 [篩選] 索引標籤。
如果您想要啟用寄不出的信件、重試原則和設定事件訂閱到期時間,請選取 [其他功能 ] 索引標籤。
您可以選擇性地選取 [傳遞屬性] 索引標籤,以設定儲存佇列訊息存留時間。
選取 [建立]
檢視傳遞的佇列訊息
找出您的儲存體帳戶,然後顯示帳戶概觀。
在 [數據記憶體] 底下,選取 [佇列],然後開啟用來設定端點以存取訊息的新建立佇列。
選取所需清查運行時間的訊息,以存取訊息屬性,以檢閱事件狀態的訊息本文。
如需如何訂閱 Blob 記憶體事件的詳細資訊,請參閱以事件方格來源 Azure Blob 儲存體 - Azure 事件方格 |Microsoft Learn
選擇性地啟用存取時間追蹤
您可以選擇啟用 Blob 存取時間追蹤。 啟用存取時間追蹤時,清查報告會根據 Blob 上次以讀取或寫入作業存取的時間,包含 LastAccessTime 欄位。 為了將讀取存取延遲的影響降到最低,只有過去 24 小時的第一次讀取會更新前一次的存取時間。 在相同 24 小時期間內的後續讀取,不會更新前一次的存取時間。 如果在讀取之間修改 Blob,則上次存取時間會是兩個值中的較新值。
若要使用 Azure 入口網站啟用上次存取時間追蹤,請遵循下列步驟:
登入 Azure 入口網站。
找出您的儲存體帳戶,然後顯示帳戶概觀。
在 [資料管理] 下方選取 [Blob 清查]。
選取 [Blob 清查設定],然後在 [Blob 清查設定] 窗格中,選取 [啟用上次存取追蹤] 核取方塊。
若要啟用使用 PowerShell 進行上次存取時間追蹤,請呼叫 Enable-AzStorageBlobLastAccessTimeTracking 命令,如下列範例所示。 請記得以您自己的值取代角括號中的預留位置值:
# Initialize these variables with your values.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
Enable-AzStorageBlobLastAccessTimeTracking -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-PassThru
若要啟用使用 Azure CLI 進行上次存取時間追蹤,請呼叫 az storage account blob-service-properties update 命令,如下列範例所示。 請記得以您自己的值取代角括號中的預留位置值:
az storage account blob-service-properties update \
--resource-group <resource-group> \
--account-name <storage-account> \
--enable-last-access-tracking true
下一步