Skip to content

Commit 1d044a4

Browse files
authored
Merge pull request #300120 from VincentLiu777/main
Move region supportability script to data redundancy page instead.
2 parents c891dab + 93fe592 commit 1d044a4

File tree

2 files changed

+114
-116
lines changed

2 files changed

+114
-116
lines changed

articles/storage/files/files-redundancy.md

Lines changed: 110 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Understand the data redundancy options available in Azure file shar
44
author: khdownie
55
ms.service: azure-file-storage
66
ms.topic: concept-article
7-
ms.date: 03/27/2025
7+
ms.date: 05/20/2025
88
ms.author: kendownie
99
ms.custom: references_regions
1010
---
@@ -148,12 +148,12 @@ With GRS or GZRS, the file shares won't be accessible in the secondary region un
148148
The following items might impact your ability to fail over to the secondary region:
149149

150150
- Storage account failover is blocked if a system snapshot doesn't exist in the secondary region.
151-
- Storage account failover is blocked if the storage account contains more than 100,000 file shares. To failover the storage account, open a support request.
151+
- Storage account failover is blocked if the storage account contains more than 100,000 file shares. To fail over the storage account, open a support request.
152152
- File handles and leases aren't retained on failover, and clients must unmount and remount the file shares.
153153
- File share quota might change after failover. The file share quota in the secondary region will be based on the quota that was configured when the system snapshot was taken in the primary region.
154154
- Copy operations in progress are aborted when a failover occurs. When the failover to the secondary region completes, retry the copy operation.
155155

156-
To failover a storage account, see [initiate an account failover](../common/storage-initiate-account-failover.md).
156+
To fail over a storage account, see [initiate an account failover](../common/storage-initiate-account-failover.md).
157157

158158
### Geo-redundancy for SSD file shares
159159

@@ -194,6 +194,113 @@ The following table indicates whether your data is durable and available in a gi
194194

195195
For pricing information for each redundancy option, see [Azure Files pricing](https://azure.microsoft.com/pricing/details/storage/files/).
196196

197+
## Region supportability based on different billing models
198+
You can verify region supportability for various billing models using the following commands.
199+
# [Portal](#tab/azure-portal)
200+
To view region supportability based on different billing models, use Azure PowerShell or Azure CLI.
201+
202+
# [PowerShell](#tab/azure-powershell)
203+
```powershell
204+
# Login to Azure account
205+
Connect-AzAccount
206+
207+
# Track down the subscription ID in GUID format
208+
$subscriptionID = "your-subscription-id-number"
209+
210+
# Get Token
211+
$token = Get-AzAccessToken
212+
213+
# Invoke SRP list SKU API, and get the returned SKU list
214+
$result = Invoke-RestMethod -Method Get -Uri "https://management.azure.com/subscriptions/$($subscriptionID)/providers/Microsoft.Storage/skus?api-version=2024-01-01" -Headers @{"Authorization" = "Bearer $($token.Token)"}
215+
216+
# Filter the SKU list to get the required information, customization requried here to get the best result.
217+
$filteredResult = $result | `
218+
Select-Object -ExpandProperty value | `
219+
Where-Object {
220+
$_.resourceType -eq "storageAccounts" -and
221+
# Filter based on your needs. FileStorage kind includes pv2, and pv1 file share, where StorageV2 kind include PayGO file shares.
222+
$_.kind -in @("FileStorage", "StorageV2") -and
223+
# Filter based on your needs. "Standard_" for PayGO file share, "StandardV2_" for Pv2 file share, "Premium_" for pv1 file shares.
224+
# $_.name.StartsWith("StandardV2_") -and
225+
# Change region based on your need to see if we currently support the region (all small cases, no space in between).
226+
# $_.locations -eq "italynorth" -and
227+
$_.name -notin @("Standard_RAGRS", "Standard_RAGZRS")
228+
}
229+
230+
if ($filteredResult.Count -eq 0) {
231+
Write-Output "No results found."
232+
} else {
233+
$filteredResult | `
234+
Select-Object `
235+
-Property `
236+
@{
237+
Name = "sku";
238+
Expression = { $_.name }
239+
}, `
240+
kind, `
241+
@{
242+
Name = "mediaTier";
243+
Expression = {
244+
if ($_.tier -eq "Premium") {
245+
"SSD"
246+
} elseif ($_.tier -eq "Standard") {
247+
"HDD"
248+
} else {
249+
"Unknown"
250+
}
251+
}
252+
}, `
253+
@{
254+
Name = "billingModel";
255+
Expression = {
256+
if ($_.name.StartsWith("StandardV2_") -or
257+
$_.name.StartsWith("PremiumV2_")
258+
) {
259+
"ProvisionedV2"
260+
} elseif ($_.name.StartsWith("Premium_")) {
261+
"ProvisionedV1"
262+
} else {
263+
"PayAsYouGo"
264+
}
265+
}
266+
}, `
267+
@{
268+
Name = "location";
269+
Expression = { $_.locations | Select-Object -First 1 }
270+
} | ft sku, kind, mediaTier, billingModel, location
271+
}
272+
```
273+
274+
# [Azure CLI](#tab/azure-cli)
275+
This script uses jq command line JSON processor. To download it, visit https://jqlang.org/download/
276+
```bash
277+
# Login to Azure account
278+
Az login
279+
280+
# Track down the subscription ID in GUID format and set subscription ID
281+
subscriptionID="your-subscription-id-number"
282+
283+
# Get Token
284+
token=$(az account get-access-token --query accessToken --output tsv)
285+
286+
# Invoke SRP list SKU API, and get the returned SKU list
287+
result=$(az rest --method get --uri "https://management.azure.com/subscriptions/$subscriptionID/providers/Microsoft.Storage/skus?api-version=2024-01-01" --headers "Authorization=Bearer $token")
288+
289+
# Filter the SKU list to get the required information, customization required here to get the best result.
290+
filteredResult=$(echo $result | jq '.value[] | select(.resourceType == "storageAccounts" and (.kind == "FileStorage" or .kind == "StorageV2") and (.name | test("^(?!Standard_RAGRS|Standard_RAGZRS)")))' )
291+
292+
if [ -z "$filteredResult" ]; then
293+
echo "No results found."
294+
else
295+
# Print the table header
296+
printf "%-30s %-15s %-10s %-20s %-15s\n" "SKU" "Kind" "MediaTier" "BillingModel" "Location"
297+
# Print the filtered results
298+
echo $filteredResult | jq -r '. | "\(.name)\t\(.kind)\t\(.tier | if . == "Premium" then "SSD" elif . == "Standard" then "HDD" else "Unknown" end)\t\(.name | if test("^StandardV2_|^PremiumV2_") then "ProvisionedV2" elif test("^Premium_") then "ProvisionedV1" else "PayAsYouGo" end)\t\(.locations)"' | while IFS=$'\t' read -r sku kind mediaTier billingModel location; do
299+
printf "%-30s %-15s %-10s %-20s %-15s\n" "$sku" "$kind" "$mediaTier" "$billingModel" "$location"
300+
done
301+
fi
302+
```
303+
197304
## See also
198305

199306
- [Change the redundancy option for a storage account](../common/redundancy-migration.md?toc=/azure/storage/files/toc.json)

articles/storage/files/storage-how-to-create-file-share.md

Lines changed: 4 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: How to create and delete SMB and NFS Azure file share by using the
55
author: khdownie
66
ms.service: azure-file-storage
77
ms.topic: how-to
8-
ms.date: 03/12/2025
8+
ms.date: 05/20/2025
99
ms.author: kendownie
1010
ms.custom: devx-track-azurecli, references_regions, devx-track-azurepowershell
1111
---
@@ -178,7 +178,7 @@ $storageAccountSku = "StandardV2_LRS"
178178
New-AzStorageAccount -ResourceGroupName $resourceGroupName -AccountName $storageAccountName -SkuName $storageAccountSku -Kind $storageAccountKind -Location $region
179179
```
180180

181-
To view the settings and service usage for the Provisiond V2 storage account, use the following command.
181+
To view the settings and service usage for the Provisioned V2 storage account, use the following command.
182182

183183
```powershell
184184
Get-AzStorageFileServiceUsage -ResourceGroupName $resourceGroupName -StorageAccountName $storageAccountName
@@ -233,7 +233,7 @@ storageAccountSku="StandardV2_LRS"
233233
az storage account create --resource-group $resourceGroupName --name $storageAccountName --location $region --kind $storageAccountKind --sku $storageAccountSku --output none
234234
```
235235

236-
To view the settings and service usage for the Provisiond V2 storage account, use the following command.
236+
To view the settings and service usage for the Provisioned V2 storage account, use the following command.
237237

238238
```bash
239239
az storage account file-service-usage --account-name $storageAccountName -g $resourceGroupName
@@ -331,7 +331,7 @@ $f | fl
331331
```
332332

333333
# [Azure CLI](#tab/azure-cli)
334-
You can create an Provisioned v2 Azure file share with [`az storage share-rm create`](/cli/azure/storage/share-rm#az-storage-share-rm-create) command. The following PowerShell commands assume you set the variables `resourceGroupName` and `storageAccountName` as defined in the creating a storage account with Azure CLI section.
334+
You can create a Provisioned v2 Azure file share with [`az storage share-rm create`](/cli/azure/storage/share-rm#az-storage-share-rm-create) command. The following PowerShell commands assume you set the variables `resourceGroupName` and `storageAccountName` as defined in the creating a storage account with Azure CLI section.
335335

336336
To create a provisioned v2 file share, use the following command. Remember to replace the values for the variables `shareName`, `provisionedStorageGib` with the desired selections for your file share deployment.
337337

@@ -826,115 +826,6 @@ az storage share-rm delete \
826826

827827
---
828828

829-
## Region supportability base on different billing models
830-
You can verify region supportability for various billing models using the following commands.
831-
# [Portal](#tab/azure-portal)
832-
To view region supportability based on different billing models, use Azure PowerShell or Azure CLI.
833-
834-
# [PowerShell](#tab/azure-powershell)
835-
```powershell
836-
# Login to Azure account
837-
Connect-AzAccount
838-
839-
# Track down the subscription ID in GUID format
840-
$subscriptionID = "your-subscription-id-number"
841-
842-
# Get Token
843-
$token = Get-AzAccessToken
844-
845-
# Invoke SRP list SKU API, and get the returned SKU list
846-
$result = Invoke-RestMethod -Method Get -Uri "https://management.azure.com/subscriptions/$($subscriptionID)/providers/Microsoft.Storage/skus?api-version=2024-01-01" -Headers @{"Authorization" = "Bearer $($token.Token)"}
847-
848-
# Filter the SKU list to get the required information, customization requried here to get the best result.
849-
$filteredResult = $result | `
850-
Select-Object -ExpandProperty value | `
851-
Where-Object {
852-
$_.resourceType -eq "storageAccounts" -and
853-
# Filter based on your needs. FileStorage kind includes pv2, and pv1 file share, where StorageV2 kind include PayGO file shares.
854-
$_.kind -in @("FileStorage", "StorageV2") -and
855-
# Filter based on your needs. "Standard_" for PayGO file share, "StandardV2_" for Pv2 file share, "Premium_" for pv1 file shares.
856-
# $_.name.StartsWith("StandardV2_") -and
857-
# Change region based on your need to see if we currently support the region (all small cases, no space in between).
858-
# $_.locations -eq "italynorth" -and
859-
$_.name -notin @("Standard_RAGRS", "Standard_RAGZRS")
860-
}
861-
862-
if ($filteredResult.Count -eq 0) {
863-
Write-Output "No results found."
864-
} else {
865-
$filteredResult | `
866-
Select-Object `
867-
-Property `
868-
@{
869-
Name = "sku";
870-
Expression = { $_.name }
871-
}, `
872-
kind, `
873-
@{
874-
Name = "mediaTier";
875-
Expression = {
876-
if ($_.tier -eq "Premium") {
877-
"SSD"
878-
} elseif ($_.tier -eq "Standard") {
879-
"HDD"
880-
} else {
881-
"Unknown"
882-
}
883-
}
884-
}, `
885-
@{
886-
Name = "billingModel";
887-
Expression = {
888-
if ($_.name.StartsWith("StandardV2_") -or
889-
$_.name.StartsWith("PremiumV2_")
890-
) {
891-
"ProvisionedV2"
892-
} elseif ($_.name.StartsWith("Premium_")) {
893-
"ProvisionedV1"
894-
} else {
895-
"PayAsYouGo"
896-
}
897-
}
898-
}, `
899-
@{
900-
Name = "location";
901-
Expression = { $_.locations | Select-Object -First 1 }
902-
} | ft sku, kind, mediaTier, billingModel, location
903-
}
904-
```
905-
906-
# [Azure CLI](#tab/azure-cli)
907-
This script uses jq command line JSON processor. To download it, visit https://jqlang.org/download/
908-
```bash
909-
# Login to Azure account
910-
Az login
911-
912-
# Track down the subscription ID in GUID format and set subscription ID
913-
subscriptionID="your-subscription-id-number"
914-
915-
# Get Token
916-
token=$(az account get-access-token --query accessToken --output tsv)
917-
918-
# Invoke SRP list SKU API, and get the returned SKU list
919-
result=$(az rest --method get --uri "https://management.azure.com/subscriptions/$subscriptionID/providers/Microsoft.Storage/skus?api-version=2024-01-01" --headers "Authorization=Bearer $token")
920-
921-
# Filter the SKU list to get the required information, customization required here to get the best result.
922-
filteredResult=$(echo $result | jq '.value[] | select(.resourceType == "storageAccounts" and (.kind == "FileStorage" or .kind == "StorageV2") and (.name | test("^(?!Standard_RAGRS|Standard_RAGZRS)")))' )
923-
924-
if [ -z "$filteredResult" ]; then
925-
echo "No results found."
926-
else
927-
# Print the table header
928-
printf "%-30s %-15s %-10s %-20s %-15s\n" "SKU" "Kind" "MediaTier" "BillingModel" "Location"
929-
# Print the filtered results
930-
echo $filteredResult | jq -r '. | "\(.name)\t\(.kind)\t\(.tier | if . == "Premium" then "SSD" elif . == "Standard" then "HDD" else "Unknown" end)\t\(.name | if test("^StandardV2_|^PremiumV2_") then "ProvisionedV2" elif test("^Premium_") then "ProvisionedV1" else "PayAsYouGo" end)\t\(.locations)"' | while IFS=$'\t' read -r sku kind mediaTier billingModel location; do
931-
printf "%-30s %-15s %-10s %-20s %-15s\n" "$sku" "$kind" "$mediaTier" "$billingModel" "$location"
932-
done
933-
fi
934-
```
935-
936-
---
937-
938829
## Next steps
939830
- [Planning for an Azure Files deployment](storage-files-planning.md) or [Planning for an Azure File Sync deployment](../file-sync/file-sync-planning.md).
940831
- [Azure Files networking overview](storage-files-networking-overview.md).

0 commit comments

Comments
 (0)