Set-AzureStorageCORSRule
Sets the CORS rules for a type of Storage service.
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
Set-AzureStorageCORSRule
[-ServiceType] <StorageServiceType>
-CorsRules <PSCorsRule[]>
[-PassThru]
[-Context <IStorageContext>]
[-ServerTimeoutPerRequest <Int32>]
[-ClientTimeoutPerRequest <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-ConcurrentTaskCount <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.
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: | Nullable<T>[Int32] |
Position: | Named |
Default value: | None |
Required: | False |
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: | Nullable<T>[Int32] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Context
Specifies an Azure Storage context. To obtain a context, use the New-AzureStorageContext cmdlet.
Type: | IStorageContext |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-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 |
Required: | True |
Accept pipeline input: | False |
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 |
-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 |
Required: | False |
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: | Nullable<T>[Int32] |
Position: | Named |
Default value: | None |
Required: | False |
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 |
Accepted values: | Blob, Table, Queue, File |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |