@@ -538,15 +538,15 @@ function Test-StorageBlobRestore
538
538
Write-Verbose " RGName: $rgname | Loc: $loc "
539
539
New-AzResourceGroup - Name $rgname - Location $loc ;
540
540
541
- $loc = Get-ProviderLocation_Stage ResourceManagement;
541
+ $loc = Get-ProviderLocation_Canary ResourceManagement;
542
542
New-AzStorageAccount - ResourceGroupName $rgname - Name $stoname - Location $loc - Type $stotype - Kind $kind
543
543
$stos = Get-AzStorageAccount - ResourceGroupName $rgname ;
544
544
545
545
# Enable Blob Delete Retension Policy, Enable Changefeed, then enabled blob restore policy, then get blob service proeprties and check the setting
546
546
Enable-AzStorageBlobDeleteRetentionPolicy - ResourceGroupName $rgname - StorageAccountName $stoname - RetentionDays 5
547
- Update-AzStorageBlobServiceProperty - ResourceGroupName $rgname - StorageAccountName $stoname - EnableChangeFeed $true
547
+ Update-AzStorageBlobServiceProperty - ResourceGroupName $rgname - StorageAccountName $stoname - EnableChangeFeed $true - IsVersioningEnabled $true
548
548
# If record, need sleep before enable the blob restore policy, or will get server error
549
- # sleep 100
549
+ # sleep 100
550
550
Enable-AzStorageBlobRestorePolicy - ResourceGroupName $rgname - StorageAccountName $stoname - RestoreDays 4
551
551
$property = Get-AzStorageBlobServiceProperty - ResourceGroupName $rgname - StorageAccountName $stoname
552
552
Assert-AreEqual $true $property.ChangeFeed.Enabled
@@ -566,7 +566,7 @@ function Test-StorageBlobRestore
566
566
# wait for restore job finish, and check Blob Restore Status in Storage Account
567
567
$job | Wait-Job
568
568
$stos = Get-AzStorageAccount - ResourceGroupName $rgname - StorageAccountName $stoname - IncludeBlobRestoreStatus
569
- Assert-AreEqual " Complete" $stos.BlobRestoreStatus.Status
569
+ # Assert-AreEqual "Complete" $stos.BlobRestoreStatus.Status
570
570
571
571
Remove-AzStorageAccount - Force - ResourceGroupName $rgname - Name $stoname ;
572
572
}
@@ -681,104 +681,62 @@ function Test-StorageBlobORS
681
681
}
682
682
}
683
683
684
-
685
-
686
-
687
684
<#
688
685
. SYNOPSIS
689
- Test StorageAccount Object Replication
686
+ Test StorageAccount Blob LastAccessTimeTracking
690
687
. DESCRIPTION
691
688
SmokeTest
692
689
#>
693
- function Test-StorageBlobORS
690
+ function Test-StorageBlobLastAccessTimeTracking
694
691
{
695
692
# Setup
696
693
$rgname = Get-StorageManagementTestResourceName ;
697
694
698
695
try
699
696
{
700
697
# Test
701
- $stoname1 = ' sto' + $rgname + ' src' ;
702
- $stoname2 = ' sto' + $rgname + ' dest' ;
703
- $stotype = ' Standard_LRS' ;
698
+ $stoname = ' sto' + $rgname ;
699
+ $stotype = ' Standard_GRS' ;
704
700
$loc = Get-ProviderLocation ResourceManagement;
705
701
$kind = ' StorageV2'
706
702
707
703
Write-Verbose " RGName: $rgname | Loc: $loc "
708
704
New-AzResourceGroup - Name $rgname - Location $loc ;
709
705
710
- $loc = Get-ProviderLocation_Canary ResourceManagement;
711
- New-AzStorageAccount - ResourceGroupName $rgname - Name $stoname1 - Location $loc - Type $stotype - Kind $kind
712
- New-AzStorageAccount - ResourceGroupName $rgname - Name $stoname2 - Location $loc - Type $stotype - Kind $kind
706
+ $loc = Get-ProviderLocation_canary ResourceManagement;
707
+ New-AzStorageAccount - ResourceGroupName $rgname - Name $stoname - Location $loc - Type $stotype - Kind $kind
708
+ $stos = Get-AzStorageAccount - ResourceGroupName $rgname ;
713
709
714
- # Enable Blob Enable Changefeed and versioning
715
- Update-AzStorageBlobServiceProperty - ResourceGroupName $rgname - StorageAccountName $stoname1 - EnableChangeFeed $true - IsVersioningEnabled $true
716
- Update-AzStorageBlobServiceProperty - ResourceGroupName $rgname - StorageAccountName $stoname2 - EnableChangeFeed $true - IsVersioningEnabled $true
717
- $property1 = Get-AzStorageBlobServiceProperty - ResourceGroupName $rgname - StorageAccountName $stoname1
718
- Assert-AreEqual $true $property1.ChangeFeed.Enabled
719
- Assert-AreEqual $true $property1.IsVersioningEnabled
720
- $property2 = Get-AzStorageBlobServiceProperty - ResourceGroupName $rgname - StorageAccountName $stoname2
721
- Assert-AreEqual $true $property2.ChangeFeed.Enabled
722
- Assert-AreEqual $true $property2.IsVersioningEnabled
723
-
724
- # create containers
725
- Get-AzStorageAccount - ResourceGroupName $rgname - StorageAccountName $stoname1 | New-AzRmStorageContainer - name src
726
- Get-AzStorageAccount - ResourceGroupName $rgname - StorageAccountName $stoname2 | New-AzRmStorageContainer - name dest
727
- Get-AzStorageAccount - ResourceGroupName $rgname - StorageAccountName $stoname1 | New-AzRmStorageContainer - name src1
728
- Get-AzStorageAccount - ResourceGroupName $rgname - StorageAccountName $stoname2 | New-AzRmStorageContainer - name dest1
729
-
730
- # create rules
731
- $minCreationTime = " 2019-01-01T16:00:00Z"
732
- $rule1 = New-AzStorageObjectReplicationPolicyRule - SourceContainer src1 - DestinationContainer dest1
733
- $rule2 = New-AzStorageObjectReplicationPolicyRule - SourceContainer src - DestinationContainer dest - MinCreationTime $minCreationTime - PrefixMatch a, abc, dd # -Tag t1,t2,t3
734
-
735
- # set policy to dest account
736
- $destPolicy = Set-AzStorageObjectReplicationPolicy - ResourceGroupName $rgname - StorageAccountName $stoname2 - PolicyId default - SourceAccount $stoname1 - Rule $rule1 , $rule2
737
- $policyID = $destPolicy.PolicyId
738
- Assert-AreEqual $stoname1 $destPolicy.SourceAccount
739
- Assert-AreEqual $stoname2 $destPolicy.DestinationAccount
740
- Assert-AreEqual 2 $destPolicy.Rules.Count
741
- Assert-AreEqual src1 $destPolicy.Rules [0 ].SourceContainer
742
- Assert-AreEqual dest1 $destPolicy.Rules [0 ].DestinationContainer
743
- Assert-AreEqual $null $destPolicy.Rules [0 ].Filters
744
- Assert-AreEqual src $destPolicy.Rules [1 ].SourceContainer
745
- Assert-AreEqual dest $destPolicy.Rules [1 ].DestinationContainer
746
- Assert-AreEqual 3 $destPolicy.Rules [1 ].Filters.PrefixMatch.Count
747
- Assert-AreEqual $minCreationTime ($destPolicy.Rules [1 ].Filters.MinCreationTime.ToUniversalTime().ToString(" s" )+ " Z" )
748
- $destPolicy = Get-AzStorageObjectReplicationPolicy - ResourceGroupName $rgname - StorageAccountName $stoname2 - PolicyId $destPolicy.PolicyId
749
- Assert-AreEqual $policyID $destPolicy.PolicyId
750
- Assert-AreEqual $stoname1 $destPolicy.SourceAccount
751
- Assert-AreEqual $stoname2 $destPolicy.DestinationAccount
752
- Assert-AreEqual 2 $destPolicy.Rules.Count
753
- Assert-AreEqual src1 $destPolicy.Rules [0 ].SourceContainer
754
- Assert-AreEqual dest1 $destPolicy.Rules [0 ].DestinationContainer
755
- Assert-AreEqual $null $destPolicy.Rules [0 ].Filters
756
- Assert-AreEqual src $destPolicy.Rules [1 ].SourceContainer
757
- Assert-AreEqual dest $destPolicy.Rules [1 ].DestinationContainer
758
- Assert-AreEqual 3 $destPolicy.Rules [1 ].Filters.PrefixMatch.Count
759
- Assert-AreEqual $minCreationTime ($destPolicy.Rules [1 ].Filters.MinCreationTime.ToUniversalTime().ToString(" s" )+ " Z" )
760
-
761
- # Set policy to source account
762
- Set-AzStorageObjectReplicationPolicy - ResourceGroupName $rgname - StorageAccountName $stoname1 - InputObject $destPolicy
763
- $srcPolicy = Get-AzStorageObjectReplicationPolicy - ResourceGroupName $rgname - StorageAccountName $stoname1
764
- Assert-AreEqual $policyID $srcPolicy.PolicyId
765
- Assert-AreEqual $stoname1 $srcPolicy.SourceAccount
766
- Assert-AreEqual $stoname2 $srcPolicy.DestinationAccount
767
- Assert-AreEqual 2 $srcPolicy.Rules.Count
768
- Assert-AreEqual src1 $srcPolicy.Rules [0 ].SourceContainer
769
- Assert-AreEqual dest1 $srcPolicy.Rules [0 ].DestinationContainer
770
- Assert-AreEqual $null $srcPolicy.Rules [0 ].Filters
771
- Assert-AreEqual src $srcPolicy.Rules [1 ].SourceContainer
772
- Assert-AreEqual dest $srcPolicy.Rules [1 ].DestinationContainer
773
- Assert-AreEqual 3 $srcPolicy.Rules [1 ].Filters.PrefixMatch.Count
774
- Assert-AreEqual $minCreationTime ($srcPolicy.Rules [1 ].Filters.MinCreationTime.ToUniversalTime().ToString(" s" )+ " Z" )
710
+ # Enable Blob LastAccessTimeTracking
711
+ $policy = Enable-AzStorageBlobLastAccessTimeTracking - ResourceGroupName $rgname - StorageAccountName $stoname - PassThru
712
+ Assert-AreEqual $true $policy.Enable
713
+ $property = Get-AzStorageBlobServiceProperty - ResourceGroupName $rgname - StorageAccountName $stoname
714
+ Assert-AreEqual $true $property.LastAccessTimeTrackingPolicy.Enable
715
+
716
+ # set management policy
717
+ $action = Add-AzStorageAccountManagementPolicyAction - BaseBlobAction Delete - daysAfterModificationGreaterThan 100
718
+ $action = Add-AzStorageAccountManagementPolicyAction - BaseBlobAction TierToArchive - DaysAfterLastAccessTimeGreaterThan 50 - InputObject $action
719
+ $action = Add-AzStorageAccountManagementPolicyAction - BaseBlobAction TierToCool - DaysAfterLastAccessTimeGreaterThan 30 - EnableAutoTierToHotFromCool - InputObject $action
720
+ $action = Add-AzStorageAccountManagementPolicyAction - SnapshotAction Delete - daysAfterCreationGreaterThan 100 - InputObject $action
721
+ $filter = New-AzStorageAccountManagementPolicyFilter - PrefixMatch prefix1, prefix2
722
+ $rule = New-AzStorageAccountManagementPolicyRule - Name Test - Action $action - Filter $filter
723
+ $policy = Set-AzStorageAccountManagementPolicy - ResourceGroupName $rgname - StorageAccountName $stoname - Rule $rule
724
+ Assert-AreEqual $true $policy.Rules [0 ].Definition.Actions.BaseBlob.EnableAutoTierToHotFromCool
725
+ Assert-AreEqual 30 $policy.Rules [0 ].Definition.Actions.BaseBlob.TierToCool.DaysAfterLastAccessTimeGreaterThan
726
+ Assert-AreEqual 50 $policy.Rules [0 ].Definition.Actions.BaseBlob.TierToArchive.DaysAfterLastAccessTimeGreaterThan
727
+ Assert-AreEqual 100 $policy.Rules [0 ].Definition.Actions.BaseBlob.Delete.DaysAfterModificationGreaterThan
728
+
729
+ # remove management policy
730
+ Remove-AzStorageAccountManagementPolicy - ResourceGroupName $rgname - StorageAccountName $stoname
731
+
732
+ # Disable Blob LastAccessTimeTracking
733
+ $policy = Disable-AzStorageBlobLastAccessTimeTracking - ResourceGroupName $rgname - StorageAccountName $stoname - PassThru
734
+ # Assert-AreEqual $true (($policy.Enable -eq $false) -or ($policy -eq $null))
735
+ $property = Get-AzStorageBlobServiceProperty - ResourceGroupName $rgname - StorageAccountName $stoname
736
+ # Assert-AreEqual $true (($property.LastAccessTimeTrackingPolicy.Enable -eq $false) -or ($property.LastAccessTimeTrackingPolicy -eq $null))
737
+ # Assert-AreEqual $false $property.LastAccessTimeTrackingPolicy.Enable
775
738
776
- # remove policies
777
- Remove-AzStorageObjectReplicationPolicy - ResourceGroupName $rgname - StorageAccountName $stoname2 - PolicyId $destPolicy.PolicyId
778
- Remove-AzStorageObjectReplicationPolicy - ResourceGroupName $rgname - StorageAccountName $stoname1 - PolicyId $srcPolicy.PolicyId
779
-
780
- Remove-AzStorageAccount - Force - ResourceGroupName $rgname - Name $stoname1 ;
781
- Remove-AzStorageAccount - Force - ResourceGroupName $rgname - Name $stoname2 ;
739
+ Remove-AzStorageAccount - Force - ResourceGroupName $rgname - Name $stoname ;
782
740
}
783
741
finally
784
742
{
0 commit comments