你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

New-AzStorageBlobInventoryPolicyRule

创建可在 Set-Az存储BlobInventoryPolicy 中使用的 Blob 清单策略规则对象。

语法

New-AzStorageBlobInventoryPolicyRule
   [-Name] <String>
   [-Disabled]
   -Destination <String>
   -Format <String>
   -Schedule <String>
   -BlobSchemaField <String[]>
   -BlobType <String[]>
   [-PrefixMatch <String[]>]
   [-ExcludePrefix <String[]>]
   [-IncludeSnapshot]
   [-IncludeBlobVersion]
   [-IncludeDeleted]
   [-CreationTimeLastNDay <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzStorageBlobInventoryPolicyRule
   [-Name] <String>
   [-Disabled]
   -Destination <String>
   -Format <String>
   -Schedule <String>
   -ContainerSchemaField <String[]>
   [-PrefixMatch <String[]>]
   [-ExcludePrefix <String[]>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

说明

New-Az存储BlobInventoryPolicyRule cmdlet 创建 Blob 清单策略规则对象,可在 Set-Az存储BlobInventoryPolicy 中使用。

示例

示例 1:创建 Blob 清单策略规则对象,然后使用规则对象设置 Blob 清单策略。

$rule1 = New-AzStorageBlobInventoryPolicyRule -Name Test1 -Destination $containerName -Disabled -Format Csv -Schedule Daily -ContainerSchemaField Name,Metadata,PublicAccess,Last-mOdified,LeaseStatus,LeaseState,LeaseDuration,HasImmutabilityPolicy,HasLegalHold -PrefixMatch con1,con2

$rule2 = New-AzStorageBlobInventoryPolicyRule -Name Test2 -Destination $containerName -Format Parquet -Schedule Weekly  -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 -CreationTimeLastNDay 30
$rule3 = New-AzStorageBlobInventoryPolicyRule -Name Test3 -Destination $containerName -Format Parquet -Schedule Weekly  -IncludeSnapshot -IncludeDeleted -BlobType blockBlob,appendBlob -PrefixMatch aaa,bbb `
                 -ExcludePrefix ccc,ddd -BlobSchemaField name,Last-Modified,BlobType,AccessTier,AccessTierChangeTime,Content-Type,Content-CRC64,CopyId,DeletionId,Deleted,DeletedTime,RemainingRetentionDays

$policy = Set-AzStorageBlobInventoryPolicy -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -Disabled -Rule $rule1,$rule2

$policy

StorageAccountName : mystorageaccount
ResourceGroupName  : myresourcegroup
Name               : DefaultInventoryPolicy
Id                 : /subscriptions/{subscription-Id}/resourceGroups/myresourcegroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount/inventoryPolicies/default
Type               : Microsoft.Storage/storageAccounts/inventoryPolicies
LastModifiedTime   : 5/12/2021 8:53:38 AM
Enabled            : False
Rules              : {Test1, Test2, Test3}

$policy.Rules

Name  Enabled Destination   ObjectType Format  Schedule IncludeSnapshots IncludeBlobVersions IncludeDeleted BlobTypes               PrefixMatch  ExcludePrefix SchemaFields                                            CreationTime
----  ------- -----------   ---------- ------  -------- ---------------- ------------------- -------------- ---------               -----------  ------------- ------------                                            ------------
Test1 False   containername Container  Csv     Daily                                                                                {con1, con2}               {Name, Metadata, PublicAccess, Last-Modified...}                    
Test2 True    containername Blob       Parquet Weekly   True                                                {blockBlob, appendBlob} {aaa, bbb}                 {Name, Creation-Time, Last-Modified, Content-Length...} LastNDays=30
Test3 True    containername Blob       Parquet Weekly   True                                 True           {blockBlob, appendBlob} {aaa, bbb}   {ccc, ddd}    {Name, Last-Modified, BlobType, AccessTier...}

前 3 个命令创建 3 个 BlobInventoryPolicy 规则对象:contaienr 清单的规则“Test1”;blob 清单的规则“Test2”;Blob 清单的规则“Test3”,其中包含更多架构字段、指定的 excludePrefix 和 IncludeDeleted。 以下命令将 blob 清单策略设置为具有 3 个规则对象的存储帐户,然后显示更新的策略和规则属性。

参数

-BlobSchemaField

指定要包含在清单中的 Blob 对象的字段和属性。 有效值包括:Name、Creation-Time、Last-Modified、Content-Length、Content-MD5、BlobType、AccessTier、AccessTierChangeTime、Expiry-Time、hdi_isfolder、Owner、Group、Permissions、Acl、Metadata、LastAccessTime、AccessTierInferred、Tags。 “Name”是必需的架构字段。 架构字段值“Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl” 仅对已启用 HierarchicalNamespace 的帐户有效。“Tags” 字段仅对非 HierarchicalNamespace 帐户有效。 如果指定“-IncludeSnapshot”,则会在清单中包含“Snapshot”。 如果指定“-IncludeBlobVersion”,则清单中将包括“VersionId”、“IsCurrentVersion”。

Type:String[]
Accepted values:Name, Creation-Time, Last-Modified, Content-Length, Content-MD5, BlobType, AccessTier, AccessTierChangeTime, Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl, Metadata, LastAccessTime, AccessTierInferred, Tags, Etag, Content-Type, Content-Encoding, Content-Language, Content-CRC64, Cache-Control, Content-Disposition, LeaseStatus, LeaseState, LeaseDuration, ServerEncrypted, Deleted, RemainingRetentionDays, ImmutabilityPolicyUntilDate, ImmutabilityPolicyMode, LegalHold, CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTime, CopyStatusDescription, CustomerProvidedKeySha256, RehydratePriority, ArchiveStatus, x-ms-blob-sequence-number, EncryptionScope, IncrementalCopy, DeletionId, DeletedTime, TagCount
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-BlobType

设置 Blob 清单策略规则的 Blob 类型。 有效值包括 blockBlob、appendBlob、pageBlob。 Hns 帐户不支持 pageBlobs。

Type:String[]
Accepted values:blockBlob, pageBlob, appendBlob
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ContainerSchemaField

指定要包含在清单中的容器对象的字段和属性。 有效值包括:Name、Last-Modified、Metadata、LeaseStatus、LeaseState、LeaseDuration、PublicAccess、HasImmutabilityPolicy、HasLegalHold。 “Name”是必需的架构字段。

Type:String[]
Accepted values:Name, Last-Modified, Metadata, LeaseStatus, LeaseState, LeaseDuration, PublicAccess, HasImmutabilityPolicy, HasLegalHold, Etag, DefaultEncryptionScope, DenyEncryptionScopeOverride, ImmutableStorageWithVersioningEnabled, Deleted, Version, DeletedTime, RemainingRetentionDays
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CreationTimeLastNDay

筛选在过去 N 天内创建时间的对象。 有效值为 1 到 36500。 清单架构“创建时间”是此筛选器必需的。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Destination

存储 blob 清单文件的容器名称。 必须预先创建。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Disabled

如果设置规则,则禁用该规则。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExcludePrefix

设置一个字符串数组,其中包含要从清单中排除的最大 10 个 blob 前缀。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Format

指定清单文件的格式。 可能的值包括:“Csv”、“Parquet”

Type:String
Accepted values:Csv, Parquet
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-IncludeBlobVersion

如果设置规则,则禁用该规则。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeDeleted

在 Blob 清单中包含已删除的 Blob。 对于 ContainerSchemaFields,如果包含删除 blob,则必须包含“Deleted、Version、DeletedTime 和 RemainingRetentionDays”。 对于启用了 HNS 的存储帐户的 BlobSchemaFields,必须包括“DeleteId、Deleted、DeletedTime 和 RemainingRetentionDays”,在 Hns 禁用的帐户上必须包括“Deleted 和 RemainingRetentionDays”,否则必须排除它们。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeSnapshot

如果设置规则,则禁用该规则。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

规则名称只能包含字母数字字符的任意组合。 规则名称区分大小写。 该名称必须在策略中唯一。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PrefixMatch

设置要匹配的 blob 前缀的字符串数组。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Schedule

此字段用于计划库存形成。 可能的值包括:“Daily”、“Weekly”

Type:String
Accepted values:Daily, Weekly
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

输入

None

输出

PSBlobInventoryPolicyRule