Set-​Azure​Storage​CO​RS​Rule

Sets the CORS rules for a type of Storage service.

Syntax

Set-AzureStorageCORSRule
   [-ServiceType] <StorageServiceType>
   [-ClientTimeoutPerRequest <Int32>]
   [-ConcurrentTaskCount <Int32>]
   [-Context <AzureStorageContext>]
   -CorsRules <PSCorsRule[]>
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   [-PassThru]
   [-ServerTimeoutPerRequest <Int32>]
   [<CommonParameters>]

Description

The Set-AzureStorageCORSRule cmdlet sets the Cross-Origin Resource Sharing (CORS) rules for a type of Azure Storage service. The types of storage services for this cmdlet are Blob, Table, Queue, and File. This cmdlet overwrites the existing rules. To see the current rules, use the Get-AzureStorageCORSRule cmdlet.

Examples

Example 1: Assign CORS rules to the blob service

PS C:\>$CorsRules = (@{
    AllowedHeaders=@("x-ms-blob-content-type","x-ms-blob-content-disposition");
    AllowedOrigins=@("*");
    MaxAgeInSeconds=30;
    AllowedMethods=@("Get","Connect")},
    @{
    AllowedOrigins=@("http://www.fabrikam.com","http://www.contoso.com"); 
    ExposedHeaders=@("x-ms-meta-data*","x-ms-meta-customheader"); 
    AllowedHeaders=@("x-ms-meta-target*","x-ms-meta-customheader");
    MaxAgeInSeconds=30;
    AllowedMethods=@("Put")})
PS C:\> Set-AzureStorageCORSRule -ServiceType Blob -CorsRules $CorsRules

The first command assigns an array of rules to the $CorsRules variable. This command uses standard extends over several lines in this code block.

The second command assigns the rules in $CorsRules to the Blob service type.

Example 2: Change properties of a CORS rule for blob service

PS C:\>$CorsRules = Get-AzureStorageCORSRule -ServiceType Blob
PS C:\> $CorsRules[0].AllowedHeaders = @("x-ms-blob-content-type", "x-ms-blob-content-disposition")
PS C:\> $CorsRules[0].AllowedMethods = @("Get", "Connect", "Merge")
PS C:\> Set-AzureStorageCORSRule -ServiceType Blob -CorsRules $CorsRules

The first command gets the current CORS rules for the Blob type by using the Get-AzureStorageCORSRule cmdlet. The command stores the rules in the $CorsRules array variable.

The second and third commands modify the first rule in $CorsRules.

The final command assigns the rules in $CorsRules to the Blob service type. The revised rules overwrite the current CORS rules.

Required Parameters

-CorsRules

Specifies an array of CORS rules. You can retrieve the existing rules using the Get-AzureStorageCORSRule cmdlet.

Type:PSCorsRule[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ServiceType

Specifies the Azure Storage service type for which this cmdlet assigns rules. The acceptable values for this parameter are:- Blob

  • Table
  • Queue
  • File
Type:StorageServiceType
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Optional Parameters

-ClientTimeoutPerRequest

Specifies the client-side time-out interval, in seconds, for one service request. If the previous call fails in the specified interval, this cmdlet retries the request. If this cmdlet does not receive a successful response before the interval elapses, this cmdlet returns an error.

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

Specifies the maximum concurrent network calls. You can use this parameter to limit the concurrency to throttle local CPU and bandwidth usage by specifying the maximum number of concurrent network calls. The specified value is an absolute count and is not multiplied by the core count. This parameter can help reduce network connection problems in low bandwidth environments, such as 100 kilobits per second. The default value is 10.

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

Specifies an Azure Storage context. To obtain a context, use the New-AzureStorageContext cmdlet.

Type:AzureStorageContext
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName, ByValue)
Accept wildcard characters:False
-InformationAction

Specifies how this cmdlet responds to an information event.The acceptable values for this parameter are:- Continue

  • Ignore
  • Inquire
  • SilentlyContinue
  • Stop
  • Suspend
Type:ActionPreference
Aliases:infa
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InformationVariable

Specifies an information variable.

Type:String
Aliases:iv
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-PassThru

Indicates that this cmdlet returns a Boolean that reflects the success of the operation. By default, this cmdlet does not return a value.

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

Specifies the length of the time-out period for the server part of a request.

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