Azure Storage Blob 인벤토리
Azure Storage Blob 인벤토리는 연결된 속성과 함께 스토리지 계정의 컨테이너, Blob, Blob 버전 및 스냅샷 목록을 제공합니다. 매일 또는 매주 쉼표로 구분된 값(CSV) 또는 Apache Parquet 형식으로 출력 보고서를 생성합니다. 보고서를 사용하여 스토리지 계정 콘텐츠의 보존, 법적 보존 또는 암호화 상태 감사하거나 이를 사용하여 데이터의 총 데이터 크기, 연령, 계층 배포 또는 기타 특성을 이해할 수 있습니다. Blob 인벤토리를 사용하여 컨테이너 나열 및 Blob 나열 API의 예약된 자동화로 Blob 인벤토리를 사용하여 비즈니스 워크플로를 간소화하거나 데이터 처리 작업을 가속화할 수도 있습니다. Blob 인벤토리 규칙을 사용하면 Blob 유형, 접두사 또는 보고서에 포함할 Blob 속성을 선택하여 보고서의 내용을 필터링할 수 있습니다.
Azure Storage Blob 인벤토리는 다음과 같은 유형의 스토리지 계정에 사용할 수 있습니다.
- 표준 범용 v2
- 프리미엄 블록 Blob 스토리지
- Blob Storage
인벤토리 기능
다음 목록에서는 Azure Storage Blob 인벤토리의 현재 릴리스에서 제공되는 기능에 대해 설명합니다.
Blob 및 컨테이너에 대한 인벤토리 보고서
Blob 및 컨테이너에 대한 인벤토리 보고서를 생성할 수 있습니다. Blob에 대한 보고서에는 기본 Blob, 스냅샷, 콘텐츠 길이, Blob 버전 및 만든 시간, 마지막으로 수정한 시간 등의 관련 속성이 포함될 수 있습니다. 빈 컨테이너는 Blob 인벤토리 보고서에 나열되지 않습니다. 컨테이너에 대한 보고서는 컨테이너 및 불변성 정책 상태, 법적 보존 상태와 같은 컨테이너 관련 속성을 설명합니다.
사용자 지정 스키마
보고서에 표시할 필드를 선택할 수 있습니다. 지원되는 필드 목록에서 선택합니다. 이 목록은 이 문서의 뒷부분에 나와 있습니다.
CSV 및 Apache Parquet 출력 형식
인벤토리 보고서는 CSV 또는 Apache Parquet 출력 형식으로 생성할 수 있습니다.
인벤토리 보고서별 매니페스트 파일 및 Azure Event Grid 이벤트
매니페스트 파일 및 Azure Event Grid 이벤트는 인벤토리 보고서별로 생성됩니다. 이 내용은 이 문서의 뒷부분에서 설명합니다.
인벤토리 보고서 사용
스토리지 계정에 하나 이상의 규칙이 있는 정책을 추가하여 Blob 인벤토리 보고서를 사용합니다. 자세한 지침은 Azure Storage Blob 인벤토리 보고서 사용을 참조하세요.
인벤토리 정책 업그레이드
2021년 6월 전에 인벤토리를 구성한 기존 Azure Storage Blob 인벤토리 사용자인 경우 정책을 로드하고 변경한 다음, 정책을 다시 저장하면 새 기능을 사용할 수 있습니다. 정책을 다시 로드하면 정책의 새 필드가 기본값으로 채워집니다. 원한다면 이 값을 변경할 수 있습니다. 또한 다음 두 가지 기능을 사용할 수 있습니다.
이제 대상 컨테이너가 정책뿐 아니라 모든 규칙에 대해 지원됩니다.
이제 매니페스트 파일 및 Azure Event Grid 이벤트가 정책이 아닌 규칙별로 생성됩니다.
인벤토리 정책
인벤토리 보고서는 하나 이상의 규칙을 포함하는 인벤토리 정책을 추가하여 구성됩니다. 인벤토리 정책은 JSON 문서에 있는 규칙의 컬렉션입니다.
{
"enabled": true,
"rules": [
{
"enabled": true,
"name": "inventoryrule1",
"destination": "inventory-destination-container",
"definition": {. . .}
},
{
"enabled": true,
"name": "inventoryrule2",
"destination": "inventory-destination-container",
"definition": {. . .}
}]
}
Azure Portal의 Blob 인벤토리 섹션에서 코드 보기 탭을 선택하여 인벤토리 정책에 대한 JSON을 표시합니다.
매개 변수 이름 | 매개 변수 형식 | 주의 | 필수 여부 |
---|---|---|---|
사용 | 부울 값 | 전체 정책을 비활성화하는 데 사용됩니다. true로 설정되면 규칙 수준 사용 필드가 이 매개 변수를 재정의합니다. 사용하지 않도록 설정하면 모든 규칙에 대한 인벤토리가 사용하지 않도록 설정됩니다. | 예 |
rules | 규칙 개체의 배열 | 정책에 하나 이상의 규칙이 필요합니다. 정책마다 최대 100개의 규칙이 지원됩니다. | 예 |
인벤토리 규칙
규칙은 인벤토리 보고서를 생성하기 위한 필터링 조건 및 출력 매개 변수를 캡처합니다. 각 규칙은 인벤토리 보고서를 만듭니다. 규칙에는 겹치는 접두사가 있을 수 있습니다. Blob은 규칙 정의에 따라 1개보다 많은 인벤토리에 표시될 수 있습니다.
정책 내의 각 규칙에는 다음과 같은 몇 가지 매개 변수가 있습니다.
매개 변수 이름 | 매개 변수 형식 | 주의 | 필수 여부 |
---|---|---|---|
name | string | 규칙 이름은 최대 256자의 대/소문자를 구분하는 영숫자를 포함할 수 있습니다. 이름은 정책 내에서 고유해야 합니다. | 예 |
사용 | 부울 값 | 규칙을 사용하거나 사용하지 않도록 설정할 수 있는 플래그입니다. 기본값은 true입니다. | 예 |
업데이트됩니다. | JSON 인벤토리 규칙 정의 | 각 정의는 규칙 필터 집합으로 구성됩니다. | 예 |
destination | string | 모든 인벤토리 파일이 생성되는 대상 컨테이너입니다. 대상 컨테이너는 이미 있어야 합니다. |
글로벌 Blob 인벤토리 사용 플래그는 규칙의 사용 매개 변수보다 우선 적용됩니다.
규칙 정의
매개 변수 이름 | 매개 변수 형식 | 참고 | Required |
---|---|---|---|
필터 | json | 필터는 Blob 또는 컨테이너가 인벤토리에 포함되는지 여부를 결정합니다. | 예 |
format | string | 인벤토리 파일의 출력을 결정합니다. 유효한 값은 csv (CSV 형식의 경우) 및 parquet (Apache Parquet 형식의 경우)입니다. |
예 |
objectType | string | 이 인벤토리 규칙이 Blob에 대한 것인지 아니면 컨테이너에 대한 것인지를 나타냅니다. 유효한 값은 blob 및 container 입니다. |
예 |
schedule | string | 이 규칙을 실행할 일정입니다. 유효한 값은 daily 및 weekly 입니다. |
예 |
schemaFields | Json 배열 | 인벤토리에 포함될 스키마 필드의 목록입니다. | 예 |
규칙 필터
Blob 인벤토리 보고서를 사용자 지정하는 데 사용할 수 있는 몇 가지 필터는 다음과 같습니다.
필터 이름 | 필터 형식 | 주의 | 필수 여부 |
---|---|---|---|
blobTypes | 미리 정의된 열거형 값의 배열 | 유효한 값은 계층 구조 네임스페이스 사용 계정의 경우 blockBlob 및 appendBlob 이고, 다른 계정의 경우 blockBlob , appendBlob 및 pageBlob 입니다. 이 필드는 컨테이너의 인벤토리에는 적용되지 않습니다(objectType: container ). |
예 |
creationTime | 숫자 | Blob이 만들어져야 하는 기간(일)을 지정합니다. 예를 들어, 3 값은 지난 3일 동안 만들어진 Blob만 보고서에 포함합니다. |
아니요 |
prefixMatch | 일치시킬 접두사에 대한 최대 10개의 문자열 배열입니다. | prefixMatch를 정의하지 않거나 빈 접두사를 제공하는 경우 규칙은 스토리지 계정 내의 모든 Blob에 적용됩니다. 접두사는 컨테이너 이름 접두사 또는 컨테이너 이름이어야 합니다. 예: container , container1/foo |
아니요 |
excludePrefix | 제외시킬 접두사에 대한 최대 10개의 문자열 배열입니다. | 인벤토리 보고서에서 제외할 Blob 경로를 지정합니다. excludePrefix는 컨테이너 이름 접두사 또는 컨테이너 이름이어야 합니다. 빈 excludePrefix는 prefixMatch 문자열과 일치하는 이름의 모든 Blob이 나열됨을 의미합니다. 특정 접두사에 포함하지만 일부 특정 하위 집합을 제외하려면 excludePrefix 필터를 사용할 수 있습니다. 예를 들어 container-a/folder 폴더 아래에 있는 Blob을 제외한 container-a 아래의 모든 Blob을 포함하려면 prefixMatch를 container-a 로 설정해야 하며 excludePrefix를 container-a/folder 로 설정해야 합니다. |
아니요 |
includeSnapshots | 부울 값 | 인벤토리에 스냅샷을 포함할지 여부를 지정합니다. 기본값은 false 입니다. 이 필드는 컨테이너의 인벤토리에는 적용되지 않습니다(objectType: container ). |
아니요 |
includeBlobVersions | 부울 값 | 인벤토리에 Blob 버전을 포함할지 여부를 지정합니다. 기본값은 false 입니다. 이 필드는 컨테이너의 인벤토리에는 적용되지 않습니다(objectType: container ). |
아니요 |
includeDeleted | 부울 값 | 인벤토리에 삭제된 Blob을 포함할지 여부를 지정합니다. 기본값은 false 입니다. 계층 구조 네임스페이스가 있는 계정에서 이 필터에는 폴더가 포함되며 일시 삭제된 상태인 Blob도 포함됩니다. 명시적으로 삭제된 폴더 및 파일(Blob)만 보고서에 표시됩니다. 부모 폴더를 삭제한 결과로 삭제된 자식 폴더 및 파일은 보고서에 포함되지 않습니다. |
아니요 |
Azure Portal의 Blob 인벤토리 섹션에서 코드 보기 탭을 선택하여 인벤토리 규칙에 대한 JSON을 표시합니다. 필터는 규칙 정의 내에서 지정됩니다.
{
"destination": "inventory-destination-container",
"enabled": true,
"rules": [
{
"definition": {
"filters": {
"blobTypes": ["blockBlob", "appendBlob", "pageBlob"],
"prefixMatch": ["inventorytestcontainer1", "inventorytestcontainer2/abcd", "etc"],
"excludePrefix": ["inventorytestcontainer10", "etc/logs"],
"includeSnapshots": false,
"includeBlobVersions": true,
},
"format": "csv",
"objectType": "blob",
"schedule": "daily",
"schemaFields": ["Name", "Creation-Time"]
},
"enabled": true,
"name": "blobinventorytest",
"destination": "inventorydestinationContainer"
},
{
"definition": {
"filters": {
"prefixMatch": ["inventorytestcontainer1", "inventorytestcontainer2/abcd", "etc"]
},
"format": "csv",
"objectType": "container",
"schedule": "weekly",
"schemaFields": ["Name", "HasImmutabilityPolicy", "HasLegalHold"]
},
"enabled": true,
"name": "containerinventorytest",
"destination": "inventorydestinationContainer"
}
]
}
Blob 인벤토리에 대해 지원되는 사용자 지정 스키마 필드
참고 항목
Data Lake Storage 열에는 계층 구조 네임스페이스 기능이 사용하도록 설정된 계정의 지원이 표시됩니다.
필드 | Blob Storage(기본 지원) | Data Lake Storage |
---|---|---|
Name(필수) | ||
Creation-Time | ||
Last-Modified | ||
LastAccessTime1 | ||
ETag | ||
Content-Length | ||
콘텐츠-형식 | ||
Content-Encoding | ||
Content-Language | ||
Content-CRC64 | ||
Content-MD5 | ||
Cache-Control | ||
Cache-Disposition | ||
BlobType | ||
AccessTier | ||
AccessTierChangeTime | ||
LeaseStatus | ||
LeaseState | ||
ServerEncrypted | ||
CustomerProvidedKeySHA256 | ||
메타데이터 | ||
Expiry-Time | ||
hdi_isfolder | ||
담당자 | ||
그룹 | ||
사용 권한 | ||
Acl | ||
Snapshot(보고서에 스냅샷을 포함하도록 선택하는 경우에 사용 가능한 필수 필드) | ||
삭제됨 | ||
DeletedId | ||
DeletedTime | ||
RemainingRetentionDays | ||
VersionId(보고서에 Blob 버전을 포함하도록 선택하는 경우에 사용 가능한 필수 필드) | ||
IsCurrentVersion(보고서에 Blob 버전을 포함하도록 선택하는 경우에 사용 가능한 필수 필드) | ||
TagCount | ||
태그 | ||
CopyId | ||
CopySource | ||
CopyStatus | ||
CopyProgress | ||
CopyCompletionTime | ||
CopyStatusDescription | ||
ImmutabilityPolicyUntilDate | ||
ImmutabilityPolicyMode | ||
LegalHold | ||
RehydratePriority | ||
ArchiveStatus | ||
EncryptionScope | ||
IncrementalCopy | ||
x-ms-blob-sequence-number |
1 기본적으로 사용 안 함. 필요에 따라 액세스 시간 추적을 사용합니다.
컨테이너 인벤토리에 대해 지원되는 사용자 지정 스키마 필드
참고 항목
Data Lake Storage 열에는 계층 구조 네임스페이스 기능이 사용하도록 설정된 계정의 지원이 표시됩니다.
필드 | Blob Storage(기본 지원) | Data Lake Storage |
---|---|---|
Name(필수) | ||
Last-Modified | ||
ETag | ||
LeaseStatus | ||
LeaseState | ||
LeaseDuration | ||
메타데이터 | ||
PublicAccess | ||
DefaultEncryptionScope | ||
DenyEncryptionScopeOverride | ||
HasImmutabilityPolicy | ||
HasLegalHold | ||
ImmutableStorageWithVersioningEnabled | ||
삭제됨(삭제된 컨테이너 포함을 선택한 경우에만 표시됨) | ||
버전(삭제된 컨테이너 포함을 선택한 경우에만 표시됨) | ||
DeletedTime(삭제된 컨테이너 포함을 선택한 경우에만 표시됨) | ||
RemainingRetentionDays(삭제된 컨테이너 포함을 선택한 경우에만 표시됨) |
인벤토리 실행
매일 실행되도록 규칙을 구성하는 경우 매일 실행되도록 예약됩니다. 매주 실행되도록 규칙을 구성하는 경우 일요일 UTC 시간에 매주 실행되도록 예약됩니다.
대부분의 인벤토리 실행은 24시간 이내에 완료됩니다. 계층 구조 네임스페이스 지원 계정의 경우 실행하는 데 2일 정도 걸릴 수 있으며 처리되는 파일 수에 따라 2일이 지나도 실행이 완료되지 않을 수 있습니다. 실행이 실패하기 전에 완료할 수 있는 최대 시간은 6일입니다.
실행이 겹치지 않으므로 동일한 규칙의 다른 실행을 시작하기 전에 실행을 완료해야 합니다. 예를 들어 규칙이 매일 실행되도록 예약되어 있지만 전날 같은 규칙의 실행이 계속 진행 중인 경우 해당 날짜에 새 실행이 시작되지 않습니다. 매주 실행되도록 예약된 규칙은 이전 실행의 성공 여부와 실패 여부에 관계없이 매주 일요일에 실행됩니다. 실행이 성공적으로 완료되지 않은 경우 지원 서비스에 문의하기 전에 후속 실행이 완료되었는지 확인합니다. 실행 성능은 다를 수 있으므로 실행이 완료되지 않은 경우 후속 실행이 실행될 수 있습니다.
인벤토리 정책은 전체로 읽거나 쓸 수 있습니다. 부분 업데이트는 지원되지 않습니다. 인벤토리 규칙은 매일 평가됩니다. 따라서 규칙의 정의를 변경하지만 정책 규칙이 해당 날짜에 대해 이미 평가된 경우 다음 날까지 업데이트가 평가되지 않습니다.
인벤토리 완료 이벤트
규칙에 대한 인벤토리 실행이 완료되면 BlobInventoryPolicyCompleted
이벤트가 생성됩니다. 인벤토리가 실행되기 전에 사용자 오류로 인해 인벤토리 실행이 실패하는 경우에도 이 이벤트가 발생합니다. 예를 들어 잘못된 정책 또는 대상 컨테이너가 없어서 발생하는 오류는 이 이벤트를 트리거합니다. 다음 json은 BlobInventoryPolicyCompleted
이벤트 예시를 보여줍니다.
{
"topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/BlobInventory/providers/Microsoft.EventGrid/topics/BlobInventoryTopic",
"subject": "BlobDataManagement/BlobInventory",
"eventType": "Microsoft.Storage.BlobInventoryPolicyCompleted",
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"data": {
"scheduleDateTime": "2021-05-28T03:50:27Z",
"accountName": "testaccount",
"ruleName": "Rule_1",
"policyRunStatus": "Succeeded",
"policyRunStatusMessage": "Inventory run succeeded, refer manifest file for inventory details.",
"policyRunId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"manifestBlobUrl": "https://testaccount.blob.core.windows.net/inventory-destination-container/2021/05/26/13-25-36/Rule_1/Rule_1-manifest.json"
},
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2021-05-28T15:03:18Z"
}
다음 표에는 BlobInventoryPolicyCompleted
이벤트의 스키마가 설명되어 있습니다.
필드 | 형식 | 설명 |
---|---|---|
scheduleDateTime | string | 인벤토리 규칙이 예약된 시간입니다. |
accountName | string | 스토리지 계정 이름입니다. |
ruleName | string | 규칙 이름입니다. |
policyRunStatus | string | 인벤토리 실행의 상태입니다. 가능한 값은 Succeeded , PartiallySucceeded 및 Failed 입니다. |
policyRunStatusMessage | string | 인벤토리 실행에 대한 상태 메시지입니다. |
policyRunId | string | 인벤토리 실행의 정책 실행 ID입니다. |
manifestBlobUrl | string | 인벤토리 실행을 위한 매니페스트 파일의 Blob URL입니다. |
인벤토리 출력
인벤토리가 실행될 때마다 해당 규칙에 대해 지정된 인벤토리 대상 컨테이너에 파일 세트가 생성됩니다. 인벤토리 출력이 다음 경로: https://<accountName>.blob.core.windows.net/<inventory-destination-container>/YYYY/MM/DD/HH-MM-SS/<ruleName
에서 생성됩니다. 여기에서
- accountName은 Azure Blob Storage 계정 이름입니다.
- inventory-destination-container는 인벤토리 규칙에서 지정한 대상 컨테이너입니다.
- YYYY/MM/DD/HH-MM-SS는 인벤토리가 실행되기 시작한 시간입니다.
- ruleName은 인벤토리 규칙 이름입니다.
인벤토리 파일
규칙에 대한 인벤토리를 실행할 때마다 다음 파일이 생성됩니다.
인벤토리 파일: 규칙에 대한 인벤토리 실행은 CSV 또는 Apache Parquet 형식의 파일을 생성합니다. 각 파일에는 일치하는 개체와 해당 메타데이터가 포함됩니다.
Important
2023년 10월부터 개체 수가 많은 경우 인벤토리 실행으로 인해 여러 파일이 생성됩니다. 자세한 내용은 여러 인벤토리 파일 출력 FAQ를 참조하세요.
Apache Parquet 형식의 보고서는 날짜를
timestamp_millis [number of milliseconds since 1970-01-01 00:00:00 UTC
] 형식으로 표시합니다. CSV 서식이 지정된 파일의 경우 첫 번째 행은 항상 schema 행입니다. 다음 이미지는 Microsoft Excel에서 열린 인벤토리 CSV 파일을 보여 줍니다.Important
인벤토리 파일에 나타나는 Blob 경로는 특정 순서대로 나타나지 않을 수 있습니다.
체크섬 파일: 체크섬 파일에는 manifest.json 파일 콘텐츠의 MD5 체크섬이 포함됩니다. 체크섬 파일의 이름은
<ruleName>-manifest.checksum
입니다. 체크섬 파일이 생성되면 인벤토리 실행이 완료되었다는 뜻입니다.매니페스트 파일: manifest.json 파일에는 해당 실행에 대해 생성된 인벤토리 파일의 세부 정보가 포함됩니다. 파일 이름은
<ruleName>-manifest.json
입니다. 또한 이 파일은 사용자가 제공하는 규칙 정의와 해당 규칙에 대한 인벤토리의 경로를 캡처합니다. 다음 json은 샘플 manifest.json 파일의 콘텐츠를 보여줍니다.{ "destinationContainer" : "inventory-destination-container", "endpoint" : "https://testaccount.blob.core.windows.net", "files" : [ { "blob" : "2021/05/26/13-25-36/Rule_1/Rule_1.csv", "size" : 12710092 } ], "inventoryCompletionTime" : "2021-05-26T13:35:56Z", "inventoryStartTime" : "2021-05-26T13:25:36Z", "ruleDefinition" : { "filters" : { "blobTypes" : [ "blockBlob" ], "includeBlobVersions" : false, "includeSnapshots" : false, "prefixMatch" : [ "penner-test-container-100003" ] }, "format" : "csv", "objectType" : "blob", "schedule" : "daily", "schemaFields" : [ "Name", "Creation-Time", "BlobType", "Content-Length", "LastAccessTime", "Last-Modified", "Metadata", "AccessTier" ] }, "ruleName" : "Rule_1", "status" : "Succeeded", "summary" : { "objectCount" : 110000, "totalObjectSize" : 23789775 }, "version" : "1.0" }
이 파일은 실행을 시작할 때 생성됩집니다. 이 파일의
status
필드는 실행이 완료될 때까지Pending
(으)로 설정됩니다. 실행이 완료되면 이 필드는 완료 상태(예:Succeeded
또는Failed
)로 설정됩니다.
가격 책정 및 대금 청구
인벤토리 가격 책정은 청구 기간 동안 검사되는 Blob 및 컨테이너 수를 기반으로 합니다. Azure Blob Storage 가격 책정 페이지에는 검색된 100만 개체당 가격이 표시됩니다. 예를 들어, 100만 개의 개체를 스캔하는 가격이 $0.003
이고, 계정에 300만 개의 개체가 포함되어 있으며 한 달에 4개의 보고서를 생성하는 경우 청구서는 4 * 3 * $0.003 = $0.036
이 됩니다.
인벤토리 파일을 만든 후에는 인벤토리에서 생성한 파일을 계정에서 저장하고, 읽고, 쓰기 위한 추가적인 표준 데이터 스토리지 및 작업 요금이 발생합니다.
다른 규칙의 접두사와 겹치는 접두사가 규칙에 포함되어 있는 경우 여러 인벤토리 보고서에 동일한 Blob이 표시될 수 있습니다. 이 경우 두 인스턴스 모두에 대한 요금이 청구됩니다. 예를 들어 한 규칙의 prefixMatch
요소가 ["inventory-blob-1", "inventory-blob-2"]
로 설정되었고 다른 규칙의 prefixMatch
요소가 ["inventory-blob-10", "inventory-blob-20"]
으로 설정되었다고 가정하겠습니다. inventory-blob-200
이라는 개체는 두 인벤토리 보고서에 모두 표시됩니다.
includeSnapshots
및 includeVersions
필터를 false
로 설정했더라도 Blob의 스냅샷 및 버전에 대한 요금이 계산됩니다. 이러한 필터 값은 요금 청구에 영향을 주지 않습니다. 이러한 필터 값은 보고서에 표시되는 항목을 필터링하는 데만 사용할 수 있습니다.
Azure Storage Blob 인벤토리의 가격 책정에 대한 자세한 내용은 Azure Blob Storage 가격 책정을 참조하세요.
기능 지원
이 기능에 대한 지원은 Data Lake Storage Gen2, NFS(네트워크 파일 시스템) 3.0 프로토콜 또는 SSH SFTP(파일 전송 프로토콜)를 사용하도록 설정하면 영향을 받을 수 있습니다. 이러한 기능을 사용하도록 설정한 경우 Azure Storage 계정의 Blob Storage 기능 지원을 참조하여 이 기능에 대한 지원을 평가합니다.
알려진 문제 및 제한 사항
이 섹션에서는 Azure Storage Blob 인벤토리 기능의 제한 사항 및 알려진 문제에 대해 설명합니다.
인벤토리 보고서 개체 수 및 데이터 크기를 청구와 비교해서는 안 됩니다.
인벤토리 보고서에는 메타데이터, 시스템 로그 및 속성이 포함되지 않으므로 스토리지 계정의 청구된 개체 수 및 데이터 크기와 비교해서는 안 됩니다.
인벤토리 작업을 완료하는 데 시간이 더 오래 걸립니다.
인벤토리 작업은 다음과 같은 경우 시간이 더 오래 걸릴 수 있습니다.
많은 양의 새 데이터가 추가됨
규칙 또는 규칙 집합이 처음으로 실행되고 있음
인벤토리 실행은 후속 인벤토리 실행에 비해 실행하는 데 시간이 더 오래 걸릴 수 있습니다.
인벤토리 실행에서 계층 구조 네임스페이스 사용 계정에서 대량의 데이터를 처리하고 있습니다.
수억 개의 Blob이 있는 계층 구조 네임스페이스 사용 계정에 대해 인벤토리 작업을 완료하는 데 하루 이상이 걸릴 수 있습니다. 경우에 따라 인벤토리 작업이 실패하고 인벤토리 파일을 만들지 않습니다. 작업이 성공적으로 완료되지 않은 경우 지원 서비스에 문의하기 전에 후속 작업이 완료되었는지 확인합니다.
특정 날짜에 대해 소급하여 보고서를 생성할 수 있는 옵션은 없습니다.
인벤토리 작업은 개체 복제 정책이 있는 컨테이너에 보고서를 쓸 수 없습니다.
개체 복제 정책 때문에 인벤토리 작업에서 대상 컨테이너에 인벤토리 보고서를 기록하지 못할 수 있습니다. 일부 다른 시나리오에서는 보고서가 부분적으로 완료될 때 보고서를 보관하거나 변경할 수 없도록 만들 수 있으며 이로 인해 인벤토리 작업이 실패할 수 있습니다.
인벤토리 및 변경이 불가능한 스토리지
해당 계정에서 버전 수준 불변성에 대한 지원이 사용하도록 설정되어 있거나 인벤토리 정책에 정의된 대상 컨테이너에서 버전 수준 불변성에 대한 지원이 사용하도록 설정된 경우 계정에서 인벤토리 정책을 구성할 수 없습니다.
보고서는 계층 구조 네임스페이스가 있는 계정에서 일시 삭제된 Blob을 제외할 수 있습니다.
일시 삭제를 사용하도록 설정하여 컨테이너 또는 디렉터리를 삭제하면 컨테이너 또는 디렉터리와 해당 내용이 모두 일시 삭제된 것으로 표시됩니다. 그러나 정책의 includeDeleted
필드를 true로 설정하더라도 컨테이너 또는 디렉터리(길이가 0인 Blob으로 보고됨)만 인벤토리 보고서에 표시되고 해당 컨테이너 또는 디렉터리의 일시 삭제된 Blob은 표시되지 않습니다. 이로 인해 Azure Portal에서 가져오는 용량 메트릭에 표시되는 항목과 인벤토리 보고서에서 보고되는 항목 간에 차이가 발생할 수 있습니다.
명시적으로 삭제된 Blob만 보고서에 표시됩니다. 따라서 일시 삭제된 모든 Blob(디렉터리 및 모든 자식 Blob)의 전체 목록을 가져오려면 워크로드는 디렉터리 자체를 삭제하기 전에 디렉터리의 각 Blob을 삭제해야 합니다.