Start-AzureStorageBlobIncrementalCopy

Start an Incremental copy operation from a Page blob snapshot to the specified destination Page blob.

Warning

The AzureRM PowerShell module has been officially deprecated as of February 29, 2024. Users are advised to migrate from AzureRM to the Az PowerShell module to ensure continued support and updates.

Although the AzureRM module may still function, it's no longer maintained or supported, placing any continued use at the user's discretion and risk. Please refer to our migration resources for guidance on transitioning to the Az module.

Syntax

Start-AzureStorageBlobIncrementalCopy
     -CloudBlobContainer <CloudBlobContainer>
     -SrcBlob <String>
     -SrcBlobSnapshotTime <DateTimeOffset>
     -DestContainer <String>
     [-DestBlob <String>]
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-DefaultProfile <IAzureContextContainer>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobIncrementalCopy
     -CloudBlob <CloudPageBlob>
     -DestContainer <String>
     [-DestBlob <String>]
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-DefaultProfile <IAzureContextContainer>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobIncrementalCopy
     -CloudBlob <CloudPageBlob>
     -DestCloudBlob <CloudPageBlob>
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-DefaultProfile <IAzureContextContainer>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobIncrementalCopy
     -SrcBlob <String>
     -SrcContainer <String>
     -SrcBlobSnapshotTime <DateTimeOffset>
     -DestContainer <String>
     [-DestBlob <String>]
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-DefaultProfile <IAzureContextContainer>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-AzureStorageBlobIncrementalCopy
     -AbsoluteUri <String>
     -DestContainer <String>
     -DestBlob <String>
     [-Context <IStorageContext>]
     [-DestContext <IStorageContext>]
     [-ServerTimeoutPerRequest <Int32>]
     [-ClientTimeoutPerRequest <Int32>]
     [-DefaultProfile <IAzureContextContainer>]
     [-ConcurrentTaskCount <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Description

Start an Incremental copy operation from a Page blob snapshot to the specified destination Page blob. See more details of the feature in https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/incremental-copy-blob.

Examples

Example 1: Start Incremental Copy Operation by blob name and snapshot time

PS C:\>Start-AzureStorageBlobIncrementalCopy -SrcContainer container1 -SrcBlob blob1 -SrcBlobSnapshotTime "04/07/2017 09:55:36.1190229 AM +00:00" -DestContainer container2 -DestBlob blob2

This command start Incremental Copy Operation by blob name and snapshot time

Example 2: Start Incremental copy operation using source uri

PS C:\>Start-AzureStorageBlobIncrementalCopy -AbsoluteUri "http://www.somesite.com/somefile?snapshot=2017-04-07T10:05:40.2126635Z" -DestContainer container -DestBlob blob -DestContext $context

This command start Incremental Copy Operation using source uri

Example 3: Start Incremental copy operation using container pipeline from GetAzureStorageContainer

PS C:\>Get-AzureStorageContainer -Container container1 | Start-AzureStorageBlobIncrementalCopy -SrcBlob blob  -SrcBlobSnapshotTime "04/07/2017 09:55:36.1190229 AM +00:00" -DestContainer container2

This command start Incremental Copy Operation using container pipeline from GetAzureStorageContainer

Example 4: start Incremental copy operation from CloudPageBlob object to destination blob with blob name

PS C:\>$srcBlobSnapshot = Get-AzureStorageBlob -Container container1 -prefix blob1| ?{$_.ICloudBlob.IsSnapshot})[0]
PS C:\>Start-AzureStorageBlobIncrementalCopy -CloudBlob $srcBlobSnapshot.ICloudBlob -DestContainer container2 -DestBlob blob2

This command start Incremental Copy Operation from CloudPageBlob object to destination blob with blob name

Parameters

-AbsoluteUri

Absolute Uri to the source. Be noted that the credential should be provided in the Uri, if the source requires any.

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

-ClientTimeoutPerRequest

The client side maximum execution time for each request in seconds.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CloudBlob

CloudBlob object from Azure Storage Client library. You can create it or use Get-AzureStorageBlob cmdlet.

Type:CloudPageBlob
Aliases:SrcICloudBlob, SrcCloudBlob, ICloudBlob, SourceICloudBlob, SourceCloudBlob
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-CloudBlobContainer

CloudBlobContainer object from Azure Storage Client library. You can create it or use Get-AzureStorageContainer cmdlet.

Type:CloudBlobContainer
Aliases:SourceCloudBlobContainer
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ConcurrentTaskCount

The total amount of concurrent async tasks. The default value is 10.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

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

-Context

Source Azure Storage Context. You can create it by New-AzureStorageContext cmdlet.

Type:IStorageContext
Aliases:SrcContext, SourceContext
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with Azure.

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

-DestBlob

Destination blob name

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

-DestCloudBlob

Destination CloudBlob object

Type:CloudPageBlob
Aliases:DestICloudBlob, DestinationCloudBlob, DestinationICloudBlob
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DestContainer

Destination container name

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

-DestContext

Destination Azure Storage Context. You can create it by New-AzureStorageContext cmdlet.

Type:IStorageContext
Aliases:DestinationContext
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServerTimeoutPerRequest

The server time out for each request in seconds.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SrcBlob

Source page blob name.

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

-SrcBlobSnapshotTime

Source page blob snapshot time.

Type:Nullable<T>[DateTimeOffset]
Aliases:SourceBlobSnapshotTime
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-SrcContainer

Source Container name

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

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

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

Inputs

CloudPageBlob

CloudBlobContainer

String

IStorageContext

Outputs

AzureStorageBlob