Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential throttling error due to weird design of az storage blob update operation. #28959

Open
JerryZhangMS opened this issue May 14, 2024 · 2 comments
Assignees
Labels
AAD Account az login/account Auto-Assign Auto assign by bot Auto-Resolve Auto resolve by bot Azure CLI Team The command of the issue is owned by Azure CLI team question The issue doesn't require a change to the product in order to be resolved. Most issues start as that Similar-Issue Storage az storage
Milestone

Comments

@JerryZhangMS
Copy link

Describe the bug

I'm a member of CSS team supporting Azure Storage Account.

Recently we have a customer using az blob storage update CLI command to update their blob file's property.

The error message which they got:
Content: '{\'error\':{\'code\':\'TooManyRequests\',\'message\':\'The request is being throttled as the limit has been reached for operation type - List_ObservationWindow_00:05:00. For more information, see - https://aka.ms/srpthrottlinglimits\\'}}'
ERROR: Operation returned an invalid status 'Server failed to authenticate the request. Please refer to the information in the www-authenticate header.'
ErrorCode:NoAuthenticationInformation

The problem here is quite clear. It's the list storage account operation frequency was higher than 100 times per 5 minutes, refer to https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-storage-resource-provider-limits.

Then I tried to run the same command, but with --debug parameter, and I saw the detailed underlying logic is:

  • Generate Microsoft Entra ID token (Not necessary also not important for our issue)
  • List all storage accounts under current subscription (Key Point of this issue)
  • Generate access key of Storage Account (Not necessary also not important for our issue)
  • Update blob property

Per my understanding, the List storage account REST API call here should be to verify if the storage account exists or not which is understandable. But why don't we use the Get storage account REST API instead? As the Get Storage Account management operation is with 800 per 5 minutes throttling limit, which is 8 times higher than list operation, it should avoid many throttling issues.

Related command

$appid = "bde59c9e-xxxx-xxxx-xxxx-8f8d665791e0"
$tenant = "16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3"
$pwd = "xxxxxx"

az login --service-principal --username $appid --password $pwd --tenant $tenant

az storage blob update --account-name 'zhangjerrystg' --container-name 'temporary' --name 'xxx' --content-encoding gzip --debug

Errors

Content: '{\'error\':{\'code\':\'TooManyRequests\',\'message\':\'The request is being throttled as the limit has been reached for operation type - List_ObservationWindow_00:05:00. For more information, see - https://aka.ms/srpthrottlinglimits\\'}}'
ERROR: Operation returned an invalid status 'Server failed to authenticate the request. Please refer to the information in the www-authenticate header.'
ErrorCode:NoAuthenticationInformation

Issue script & Debug output

az : DEBUG: cli.knack.cli: Command arguments: ['storage', 'blob', 'update', '--account-name', 'zhangjerrystg', '--container-name', 'temporary', '--name', 'parameters.json',
'--content-encoding', 'gzip', '--debug']
At line:1 char:1

  • az storage blob update --account-name 'zhangjerrystg' --container-nam ...
  •   + CategoryInfo          : NotSpecified: (DEBUG: cli.knac...ip', '--debug']:String) [], RemoteException
      + FullyQualifiedErrorId : NativeCommandError
    
    

DEBUG: cli.knack.cli: init debug log:
Cannot enable color.
DEBUG: cli.knack.cli: Event: Cli.PreExecute []
DEBUG: cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x000002441637B880>, <function OutputProducer.on_global_arguments at
0x0000024416506020>, <function CLIQuery.on_global_arguments at 0x0000024416533BA0>]
DEBUG: cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
DEBUG: cli.azure.cli.core: Modules found from index for 'storage': ['azure.cli.command_modules.storage']
DEBUG: cli.azure.cli.core: Loading command modules:
DEBUG: cli.azure.cli.core: Name Load Time Groups Commands
DEBUG: cli.azure.cli.core: storage 0.746 59 273
DEBUG: cli.azure.cli.core: Total (1) 0.746 59 273
DEBUG: cli.azure.cli.core: Loaded 59 groups, 273 commands.
DEBUG: cli.azure.cli.core: Found a match in the command table.
DEBUG: cli.azure.cli.core: Raw command : storage blob update
DEBUG: cli.azure.cli.core: Command table: storage blob update
DEBUG: cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x0000024419402020>]
DEBUG: cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to 'C:\Users\zhangjerry.azure\commands\2024-05-14.14-51-59.storage_blob_update.24508.log'.
INFO: az_command_data_logger: command args: storage blob update --account-name {} --container-name {} --name {} --content-encoding {} --debug
DEBUG: cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument..add_subscription_parameter at 0x0000024419446480>]
DEBUG: cli.azure.cli.core.profiles._shared: Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/profiles/_shared.py", line 660, in _get_attr
AttributeError: module 'azure.mgmt.storage.v2023_01_01.models' has no attribute 'ActiveDirectoryPropertiesAccountType'
DEBUG: cli.azure.cli.core.profiles._shared: Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/profiles/_shared.py", line 660, in _get_attr
AttributeError: module 'azure.mgmt.storage.v2023_01_01.models' has no attribute 'ListKeyExpand'
DEBUG: cli.azure.cli.core.profiles._shared: Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/profiles/_shared.py", line 660, in _get_attr
AttributeError: module 'azure.mgmt.storage.v2023_01_01.models' has no attribute 'CorsRuleAllowedMethodsItem'
DEBUG: cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
DEBUG: cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument..add_ids_arguments at 0x00000244194884A0>, <function
register_cache_arguments..add_cache_arguments at 0x00000244194885E0>]
DEBUG: cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
DEBUG: cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
DEBUG: cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [<function OutputProducer.handle_output_argument at 0x00000244165060C0>, <function CLIQuery.handle_query_parameter at
0x0000024416533C40>, <function register_ids_argument..parse_ids_arguments at 0x0000024419488540>]
INFO: cli.azure.cli.command_modules.storage._validators: Try to get storage auth_mode value from environment variables or config file.
INFO: cli.azure.cli.command_modules.storage._validators: Try to get storage connection_string value from environment variables or config file.
INFO: cli.azure.cli.command_modules.storage._validators: Try to get storage key value from environment variables or config file.
INFO: cli.azure.cli.command_modules.storage._validators: Try to get storage sas_token value from environment variables or config file.
WARNING: cli.azure.cli.command_modules.storage._validators:
There are no credentials provided in your command and environment, we will query for account key for your storage account.
It is recommended to provide --connection-string, --account-key or --sas-token in your command as credentials.
You also can add --auth-mode login in your command to use Azure Active Directory (Azure AD) for authorization if your login account is assigned required RBAC roles.
For more information about RBAC roles in storage, visit https://docs.microsoft.com/azure/storage/common/storage-auth-aad-rbac-cli.
In addition, setting the corresponding environment variables can avoid inputting credentials in your command. Please use --help to get more information about environment variable
usage.
DEBUG: cli.azure.cli.core.commands.client_factory: Getting management service client client_type=StorageManagementClient
DEBUG: cli.azure.cli.core.auth.persistence: build_persistence: location='C:\Users\zhangjerry\.azure\service_principal_entries.bin', encrypt=True
DEBUG: cli.azure.cli.core.auth.persistence: build_persistence: location='C:\Users\zhangjerry\.azure\msal_token_cache.bin', encrypt=True
DEBUG: cli.azure.cli.core.auth.binary_cache: load: C:\Users\zhangjerry.azure\msal_http_cache.bin
DEBUG: urllib3.util.retry: Converted retries value: 1 -> Retry(total=1, connect=None, read=None, redirect=None, status=None)
INFO: msal.authority: Initializing with Entra authority: https://login.microsoftonline.com/16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3
DEBUG: msal.authority: openid_config("https://login.microsoftonline.com/16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3/v2.0/.well-known/openid-configuration") = {'token_endpoint':
'https://login.microsoftonline.com/16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3/oauth2/v2.0/token', 'token_endpoint_auth_methods_supported': ['client_secret_post', 'private_key_jwt',
'client_secret_basic'], 'jwks_uri': 'https://login.microsoftonline.com/16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3/discovery/v2.0/keys', 'response_modes_supported': ['query', 'fragment',
'form_post'], 'subject_types_supported': ['pairwise'], 'id_token_signing_alg_values_supported': ['RS256'], 'response_types_supported': ['code', 'id_token', 'code id_token',
'id_token token'], 'scopes_supported': ['openid', 'profile', 'email', 'offline_access'], 'issuer': 'https://login.microsoftonline.com/16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3/v2.0',
'request_uri_parameter_supported': False, 'userinfo_endpoint': 'https://graph.microsoft.com/oidc/userinfo', 'authorization_endpoint':
'https://login.microsoftonline.com/16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3/oauth2/v2.0/authorize', 'device_authorization_endpoint':
'https://login.microsoftonline.com/16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3/oauth2/v2.0/devicecode', 'http_logout_supported': True, 'frontchannel_logout_supported': True,
'end_session_endpoint': 'https://login.microsoftonline.com/16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3/oauth2/v2.0/logout', 'claims_supported': ['sub', 'iss', 'cloud_instance_name',
'cloud_instance_host_name', 'cloud_graph_host_name', 'msgraph_host', 'aud', 'exp', 'iat', 'auth_time', 'acr', 'nonce', 'preferred_username', 'name', 'tid', 'ver', 'at_hash',
'c_hash', 'email'], 'kerberos_endpoint': 'https://login.microsoftonline.com/16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3/kerberos', 'tenant_region_scope': 'NA', 'cloud_instance_name':
'microsoftonline.com', 'cloud_graph_host_name': 'graph.windows.net', 'msgraph_host': 'graph.microsoft.com', 'rbac_url': 'https://pas.windows.net'}
DEBUG: msal.application: Broker enabled? None
DEBUG: cli.azure.cli.core.auth.credential_adaptor: CredentialAdaptor.get_token: scopes=('https://management.core.windows.net//.default',), kwargs={}
DEBUG: cli.azure.cli.core.auth.msal_authentication: ServicePrincipalCredential.get_token: scopes=('https://management.core.windows.net//.default',), kwargs={}
DEBUG: msal.application: Cache hit an AT
DEBUG: msal.telemetry: Generate or reuse correlation_id: 7e18c481-b596-458a-a78f-2b21d4c429ec
DEBUG: cli.azure.cli.core.sdk.policies: Request URL:
'https://management.azure.com/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/providers/Microsoft.Storage/storageAccounts?api-version=2023-01-01'
DEBUG: cli.azure.cli.core.sdk.policies: Request method: 'GET'
DEBUG: cli.azure.cli.core.sdk.policies: Request headers:
DEBUG: cli.azure.cli.core.sdk.policies: 'Accept': 'application/json'
DEBUG: cli.azure.cli.core.sdk.policies: 'x-ms-client-request-id': '7594a9c6-11be-11ef-b479-00155d122469'
DEBUG: cli.azure.cli.core.sdk.policies: 'CommandName': 'storage blob update'
DEBUG: cli.azure.cli.core.sdk.policies: 'ParameterSetName': '--account-name --container-name --name --content-encoding --debug'
DEBUG: cli.azure.cli.core.sdk.policies: 'User-Agent': 'AZURECLI/2.60.0 (MSI) azsdk-python-core/1.28.0 Python/3.11.8 (Windows-10-10.0.22631-SP0)'
DEBUG: cli.azure.cli.core.sdk.policies: 'Authorization': '*****'
DEBUG: cli.azure.cli.core.sdk.policies: Request body:
DEBUG: cli.azure.cli.core.sdk.policies: This request has no body
DEBUG: urllib3.connectionpool: Starting new HTTPS connection (1): management.azure.com:443
DEBUG: urllib3.connectionpool: https://management.azure.com:443 "GET
/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/providers/Microsoft.Storage/storageAccounts?api-version=2023-01-01 HTTP/1.1" 200 17743
DEBUG: cli.azure.cli.core.sdk.policies: Response status: 200
DEBUG: cli.azure.cli.core.sdk.policies: Response headers:
DEBUG: cli.azure.cli.core.sdk.policies: 'Cache-Control': 'no-cache'
DEBUG: cli.azure.cli.core.sdk.policies: 'Pragma': 'no-cache'
DEBUG: cli.azure.cli.core.sdk.policies: 'Content-Length': '17743'
DEBUG: cli.azure.cli.core.sdk.policies: 'Content-Type': 'application/json'
DEBUG: cli.azure.cli.core.sdk.policies: 'Expires': '-1'
DEBUG: cli.azure.cli.core.sdk.policies: 'x-ms-request-id': 'e3db38ee-42ce-4d86-96cb-ecd1393618c3'
DEBUG: cli.azure.cli.core.sdk.policies: 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
DEBUG: cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-reads': '249'
DEBUG: cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-global-reads': '3749'
DEBUG: cli.azure.cli.core.sdk.policies: 'x-ms-correlation-request-id': 'aaabf20a-d333-4ca8-8e85-f90823128007'
DEBUG: cli.azure.cli.core.sdk.policies: 'x-ms-routing-request-id': 'SOUTHEASTASIA:20240514T065203Z:aaabf20a-d333-4ca8-8e85-f90823128007'
DEBUG: cli.azure.cli.core.sdk.policies: 'X-Content-Type-Options': 'nosniff'
DEBUG: cli.azure.cli.core.sdk.policies: 'X-Cache': 'CONFIG_NOCACHE'
DEBUG: cli.azure.cli.core.sdk.policies: 'X-MSEdge-Ref': 'Ref A: 75E95323B3D5413CA70B426BB35F2B79 Ref B: MAA201060514029 Ref C: 2024-05-14T06:52:03Z'
DEBUG: cli.azure.cli.core.sdk.policies: 'Date': 'Tue, 14 May 2024 06:52:03 GMT'
DEBUG: cli.azure.cli.core.sdk.policies: Response content:
DEBUG: cli.azure.cli.core.sdk.policies: {"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourc
eGroups/ServiceFabric/providers/Microsoft.Storage/storageAccounts/6gfkhcpcyjdlu2","name":"6gfkhcpcyjdlu2","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{"res
ourceType":"Service Fabric","clusterName":"jerrynewsf"},"properties":{"keyCreationTime":{"key1":"2024-05-09T04:14:49.5361089Z","key2":"2024-05-09T04:14:49.5361089Z"},"allowCrossTena
ntReplication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"ipv6Rules":[],"resourceAccessRules":[{"tenantId":"16b
3c013-d300-468d-ac64-7eda0820b6d3","resourceId":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/providers/Microsoft.Security/datascanners/StorageDataScanner"}],"bypass":"AzureS
ervices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEna
bledTime":"2024-05-09T04:14:49.6454840Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-09T04:14:49.6454840Z"}},"keySource":"Microsoft.Storage"},"provisionin
gState":"Succeeded","creationTime":"2024-05-09T04:14:49.3330291Z","primaryEndpoints":{"blob":"https://6gfkhcpcyjdlu2.blob.core.windows.net/","queue":"https://6gfkhcpcyjdlu2.queue.co
re.windows.net/","table":"https://6gfkhcpcyjdlu2.table.core.windows.net/","file":"https://6gfkhcpcyjdlu2.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"avail
able"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourceGroups/ServiceFabric/providers/Microsoft.
Storage/storageAccounts/6gfkhcpcyjdlu3","name":"6gfkhcpcyjdlu3","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{"resourceType":"Service Fabric","clusterName":
"jerrynewsf"},"properties":{"keyCreationTime":{"key1":"2024-05-09T04:14:49.5829831Z","key2":"2024-05-09T04:14:49.5829831Z"},"allowCrossTenantReplication":false,"privateEndpointConne
ctions":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"ipv6Rules":[],"resourceAccessRules":[{"tenantId":"16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3","resour
ceId":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/providers/Microsoft.Security/datascanners/StorageDataScanner"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules
":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-09T04:14:49.7079852Z"},
"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-09T04:14:49.7079852Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2024-0
5-09T04:14:49.3798922Z","primaryEndpoints":{"blob":"https://6gfkhcpcyjdlu3.blob.core.windows.net/","queue":"https://6gfkhcpcyjdlu3.queue.core.windows.net/","table":"https://6gfkhcpc
yjdlu3.table.core.windows.net/","file":"https://6gfkhcpcyjdlu3.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tie
r":"Standard"},"kind":"StorageV2","id":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourceGroups/Batch/providers/Microsoft.Storage/storageAccounts/jerrybatchstg","name":"j
errybatchstg","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"dnsEndpointType":"Standard","defaultToOAuthAuthentication":false,"publicNetwork
Access":"Enabled","keyCreationTime":{"key1":"2024-05-09T16:18:46.1792438Z","key2":"2024-05-09T16:18:46.1792438Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[]
,"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"allowSharedKeyAccess":true,"largeFileSharesState":"Enabled","networkAcls":{"ipv6Rules":[],"resourceAccessRules":[{"tenan
tId":"16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3","resourceId":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/providers/Microsoft.Security/datascanners/StorageDataScanner"}],"bypass
":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"requireInfrastructureEncryption":false,"services":{"f
ile":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-09T16:18:46.3042633Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-09T16:18:46.3042633Z
"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2024-05-09T16:18:45.9449356Z","primaryEndpoints":{"dfs":"https://jerrybatchst
g.dfs.core.windows.net/","web":"https://jerrybatchstg.z13.web.core.windows.net/","blob":"https://jerrybatchstg.blob.core.windows.net/","queue":"https://jerrybatchstg.queue.core.wind
ows.net/","table":"https://jerrybatchstg.table.core.windows.net/","file":"https://jerrybatchstg.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{
"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourceGroups/classicCS/providers/Microsoft.Storage/sto
rageAccounts/jerryclassiccsstg","name":"jerryclassiccsstg","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"dnsEndpointType":"Standard","defau
ltToOAuthAuthentication":false,"publicNetworkAccess":"Enabled","keyCreationTime":{"key1":"2024-05-09T07:13:52.5916728Z","key2":"2024-05-09T07:13:52.5916728Z"},"allowCrossTenantRepli
cation":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"allowSharedKeyAccess":true,"largeFileSharesState":"Enabled","networkAcls":{
"ipv6Rules":[],"resourceAccessRules":[{"tenantId":"16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3","resourceId":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/providers/Microsoft.Securi
ty/datascanners/StorageDataScanner"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"requireI
nfrastructureEncryption":false,"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-09T07:13:52.7010399Z"},"blob":{"keyType":"Account","enabled":true,"l
astEnabledTime":"2024-05-09T07:13:52.7010399Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2024-05-09T07:13:52.3729588Z","p
rimaryEndpoints":{"dfs":"https://jerryclassiccsstg.dfs.core.windows.net/","web":"https://jerryclassiccsstg.z13.web.core.windows.net/","blob":"https://jerryclassiccsstg.blob.core.win
dows.net/","queue":"https://jerryclassiccsstg.queue.core.windows.net/","table":"https://jerryclassiccsstg.table.core.windows.net/","file":"https://jerryclassiccsstg.file.core.window
s.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/8b7b9a55-ee24-4434-a445-
b25d85037161/resourceGroups/CSES/providers/Microsoft.Storage/storageAccounts/jerrycsesstg","name":"jerrycsesstg","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags
":{},"properties":{"dnsEndpointType":"Standard","defaultToOAuthAuthentication":false,"publicNetworkAccess":"Enabled","keyCreationTime":{"key1":"2024-05-09T06:26:52.5120422Z","key2":
"2024-05-09T06:26:52.5120422Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"allowSharedKeyAccess"
:true,"largeFileSharesState":"Enabled","networkAcls":{"ipv6Rules":[],"resourceAccessRules":[{"tenantId":"16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3","resourceId":"/subscriptions/8b7b9a55-
ee24-4434-a445-b25d85037161/providers/Microsoft.Security/datascanners/StorageDataScanner"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"
supportsHttpsTrafficOnly":true,"encryption":{"requireInfrastructureEncryption":false,"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-09T06:26:52.68
39470Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-09T06:26:52.6839470Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succe
eded","creationTime":"2024-05-09T06:26:52.3245426Z","primaryEndpoints":{"dfs":"https://jerrycsesstg.dfs.core.windows.net/","web":"https://jerrycsesstg.z13.web.core.windows.net/","bl
ob":"https://jerrycsesstg.blob.core.windows.net/","queue":"https://jerrycsesstg.queue.core.windows.net/","table":"https://jerrycsesstg.table.core.windows.net/","file":"https://jerry
csesstg.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/
8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/zhangjerryadlsgen2","name":"zhangjerryadlsgen2","type":"Microsoft.Storage/sto
rageAccounts","location":"eastus","tags":{},"properties":{"dnsEndpointType":"Standard","defaultToOAuthAuthentication":false,"publicNetworkAccess":"Enabled","keyCreationTime":{"key1"
:"2024-05-13T09:35:16.5116198Z","key2":"2024-05-13T09:35:16.5116198Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[],"isSftpEnabled":false,"minimumTlsVersion":
"TLS1_2","allowBlobPublicAccess":false,"allowSharedKeyAccess":true,"largeFileSharesState":"Enabled","isHnsEnabled":true,"networkAcls":{"ipv6Rules":[],"resourceAccessRules":[{"tenant
Id":"16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3","resourceId":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/providers/Microsoft.Security/datascanners/StorageDataScanner"}],"bypass"
:"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"requireInfrastructureEncryption":false,"services":{"fi
le":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-13T09:35:16.5116198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-13T09:35:16.5116198Z"
}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2024-05-13T09:35:16.3085025Z","primaryEndpoints":{"dfs":"https://zhangjerryadl
sgen2.dfs.core.windows.net/","web":"https://zhangjerryadlsgen2.z13.web.core.windows.net/","blob":"https://zhangjerryadlsgen2.blob.core.windows.net/","queue":"https://zhangjerryadlsg
en2.queue.core.windows.net/","table":"https://zhangjerryadlsgen2.table.core.windows.net/","file":"https://zhangjerryadlsgen2.file.core.windows.net/"},"primaryLocation":"eastus","sta
tusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourceGroups/Storage/provid
ers/Microsoft.Storage/storageAccounts/zhangjerrygpv1","name":"zhangjerrygpv1","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime
":{"key1":"2024-05-13T10:01:37.2356040Z","key2":"2024-05-13T10:01:37.2356040Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","all
owBlobPublicAccess":false,"networkAcls":{"ipv6Rules":[],"resourceAccessRules":[{"tenantId":"16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3","resourceId":"/subscriptions/8b7b9a55-ee24-4434-a44
5-b25d85037161/providers/Microsoft.Security/datascanners/StorageDataScanner"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttps
TrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-13T10:01:37.2356040Z"},"blob":{"keyType":"Account","enabled":true,"
lastEnabledTime":"2024-05-13T10:01:37.2356040Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2024-05-13T10:01:36.9855980Z","primaryEndpoints":{
"blob":"https://zhangjerrygpv1.blob.core.windows.net/","queue":"https://zhangjerrygpv1.queue.core.windows.net/","table":"https://zhangjerrygpv1.table.core.windows.net/","file":"http
s://zhangjerrygpv1.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"Storage","id":"/subscri
ptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/zhangjerrygpv1prem","name":"zhangjerrygpv1prem","type":"Microsoft.Stor
age/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2024-05-13T10:01:05.3293653Z","key2":"2024-05-13T10:01:05.3293653Z"},"allowCrossTenantRep
lication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"ipv6Rules":[],"resourceAccessRules":[{"tenantId":"16b3c013
-d300-468d-ac64-7eda0820b6d3","resourceId":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/providers/Microsoft.Security/datascanners/StorageDataScanner"}],"bypass":"AzureServic
es","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledT
ime":"2024-05-13T10:01:05.3293653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-13T10:01:05.3293653Z"}},"keySource":"Microsoft.Storage"},"provisioningStat
e":"Succeeded","creationTime":"2024-05-13T10:01:05.0950334Z","primaryEndpoints":{"blob":"https://zhangjerrygpv1prem.blob.core.windows.net/"},"primaryLocation":"eastus","statusOfPrim
ary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourceGroups/Storage/providers/Mic
rosoft.Storage/storageAccounts/zhangjerrynfsv3","name":"zhangjerrynfsv3","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"dnsEndpointType":"St
andard","defaultToOAuthAuthentication":false,"publicNetworkAccess":"Enabled","keyCreationTime":{"key1":"2024-05-13T09:44:34.6389929Z","key2":"2024-05-13T09:44:34.6389929Z"},"allowCr
ossTenantReplication":false,"privateEndpointConnections":[],"isNfsV3Enabled":true,"isSftpEnabled":false,"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"allowSharedKeyAcc
ess":true,"largeFileSharesState":"Enabled","isHnsEnabled":true,"networkAcls":{"ipv6Rules":[],"resourceAccessRules":[{"tenantId":"16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3","resourceId":"
/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/providers/Microsoft.Security/datascanners/StorageDataScanner"}],"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscript
ions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourceGroups/vnet/providers/Microsoft.Network/virtualNetworks/overallvnet/subnets/vmlinux","action":"Allow","state":"Succeeded"},{"id":"/
subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourceGroups/vnet/providers/Microsoft.Network/virtualNetworks/overallvnet/subnets/vmwin","action":"Allow","state":"Succeeded"}],
"ipRules":[{"value":"167.220.255.65","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"requireInfrastructureEncryption":false,"services":{"fi
le":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-13T09:44:34.6546495Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-13T09:44:34.6546495Z"
}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2024-05-13T09:44:34.4202844Z","primaryEndpoints":{"dfs":"https://zhangjerrynfs
v3.dfs.core.windows.net/","web":"https://zhangjerrynfsv3.z13.web.core.windows.net/","blob":"https://zhangjerrynfsv3.blob.core.windows.net/","queue":"https://zhangjerrynfsv3.queue.co
re.windows.net/","table":"https://zhangjerrynfsv3.table.core.windows.net/","file":"https://zhangjerrynfsv3.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"ava
ilable"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourceGroups/Storage/providers/Microsoft.St
orage/storageAccounts/zhangjerrystg","name":"zhangjerrystg","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"dnsEndpointType":"Standard","defa
ultToOAuthAuthentication":false,"publicNetworkAccess":"Enabled","keyCreationTime":{"key1":"2024-05-13T09:30:32.9960535Z","key2":"2024-05-13T09:30:32.9960535Z"},"allowCrossTenantRepl
ication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"largeFileSharesState":"Enabled","networkAcls":{
"ipv6Rules":[],"resourceAccessRules":[{"tenantId":"16b3c013-xxxx-xxxx-xxxx-7eda0820b6d3","resourceId":"/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/providers/Microsoft.Securi
ty/datascanners/StorageDataScanner"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"requireI
nfrastructureEncryption":false,"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-05-13T09:30:33.1991556Z"},"blob":{"keyType":"Account","enabled":true,"l
astEnabledTime":"2024-05-13T09:30:33.1991556Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2024-05-13T09:30:32.7772677Z","p
rimaryEndpoints":{"dfs":"https://zhangjerrystg.dfs.core.windows.net/","web":"https://zhangjerrystg.z13.web.core.windows.net/","blob":"https://zhangjerrystg.blob.core.windows.net/","
queue":"https://zhangjerrystg.queue.core.windows.net/","table":"https://zhangjerrystg.table.core.windows.net/","file":"https://zhangjerrystg.file.core.windows.net/"},"primaryLocatio
n":"eastus","statusOfPrimary":"available"}}]}
DEBUG: cli.azure.cli.core.profiles._shared: Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/profiles/_shared.py", line 656, in get_attr
File "importlib_init
.py", line 126, in import_module
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'azure.mgmt.storage.v2023_01_01.models.storage_account_keys'
DEBUG: cli.azure.cli.command_modules.storage._validators: Disable HTTP logging to avoid having storage keys in debug logs
DEBUG: urllib3.connectionpool: https://management.azure.com:443 "POST
/subscriptions/8b7b9a55-xxxx-xxxx-xxxx-b25d85037161/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/zhangjerrystg/listKeys?api-version=2023-01-01&$expand=kerb
HTTP/1.1" 200 380
DEBUG: cli.azure.cli.core.profiles._shared: Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/profiles/_shared.py", line 656, in get_attr
File "importlib_init
.py", line 126, in import_module
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1126, in _find_and_load_unlocked
File "", line 241, in _call_with_frames_removed
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'azure.multiapi.storagev2.blob.v2022_11_02.blob'
DEBUG: cli.azure.cli.core.profiles._shared: Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/profiles/_shared.py", line 656, in get_attr
File "importlib_init
.py", line 126, in import_module
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'azure.multiapi.storagev2.blob.v2022_11_02.file'
DEBUG: cli.azure.cli.core.profiles._shared: Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/profiles/_shared.py", line 656, in get_attr
File "importlib_init
.py", line 126, in import_module
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1126, in _find_and_load_unlocked
File "", line 241, in _call_with_frames_removed
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'azure.multiapi.storagev2.blob.v2022_11_02.blob'
DEBUG: cli.azure.cli.core.profiles._shared: Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/profiles/_shared.py", line 656, in get_attr
File "importlib_init
.py", line 126, in import_module
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1126, in _find_and_load_unlocked
File "", line 241, in _call_with_frames_removed
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'azure.multiapi.storagev2.blob.v2022_11_02.file'
INFO: cli.azure.cli.command_modules.storage._validators: Try to get storage sas_token value from environment variables or config file.
DEBUG: urllib3.connectionpool: Starting new HTTPS connection (1): zhangjerrystg.blob.core.windows.net:443
DEBUG: urllib3.connectionpool: https://zhangjerrystg.blob.core.windows.net:443 "HEAD /temporary/parameters.json HTTP/1.1" 200 0
DEBUG: urllib3.connectionpool: Starting new HTTPS connection (1): zhangjerrystg.blob.core.windows.net:443
DEBUG: urllib3.connectionpool: https://zhangjerrystg.blob.core.windows.net:443 "PUT /temporary/parameters.json?comp=properties HTTP/1.1" 200 0
DEBUG: cli.knack.cli: Event: CommandInvoker.OnTransformResult [<function _resource_group_transform at 0x00000244194456C0>, <function x509_from_base64_to_hex_transform at
0x0000024419445760>]
DEBUG: cli.knack.cli: Event: CommandInvoker.OnFilterResult []
DEBUG: cli.knack.cli: Event: Cli.SuccessfulExecute []
DEBUG: cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x00000244194022A0>]
INFO: az_command_data_logger: exit code: 0
INFO: cli.main: Command ran in 13.069 seconds (init: 1.260, invoke: 11.810)
INFO: telemetry.main: Begin splitting cli events and extra events, total events: 1
INFO: telemetry.client: Accumulated 0 events. Flush the clients.
INFO: telemetry.main: Finish splitting cli events and extra events, cli events: 1
INFO: telemetry.save: Save telemetry record of length 3668 in cache
INFO: telemetry.main: Begin creating telemetry upload process.
INFO: telemetry.process: Creating upload process: "C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe C:\Program Files\Microsoft
SDKs\Azure\CLI2\Lib\site-packages\azure\cli\telemetry_init
.pyc C:\Users\zhangjerry.azure"
INFO: telemetry.process: Return from creating process
INFO: telemetry.main: Finish creating telemetry upload process.
{
"blob_sequence_number": null,
"client_request_id": "7b12057e-11be-11ef-a72f-00155d122469",
"date": "2024-05-14T06:52:09+00:00",
"etag": ""0x8DC73E260CBD1AD"",
"last_modified": "2024-05-14T06:52:10+00:00",
"request_id": "8289a13f-301e-0054-60cb-a5dfac000000",
"version": "2022-11-02"
}

Expected behavior

Az CLI should use read storage account operation instead of list storage accounts operation to allow higher throttling limit

Environment Summary

azure-cli 2.60.0

core 2.60.0
telemetry 1.1.0

Dependencies:
msal 1.28.0
azure-mgmt-resource 23.1.0b2

Python location 'C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\zhangjerry.azure\cliextensions'

Python (Windows) 3.11.8 (tags/v3.11.8:db85d51, Feb 6 2024, 22:03:32) [MSC v.1937 64 bit (AMD64)]

Legal docs and information: aka.ms/AzureCliLegal

Your CLI is up-to-date.

Additional context

No response

@JerryZhangMS JerryZhangMS added the bug This issue requires a change to an existing behavior in the product in order to be resolved. label May 14, 2024
Copy link

Hi @JerryZhangMS
Find similar issue #23821.

Issue title Azure CLI: API version 2022-05-01 does not have operation group 'storage_accounts'
Create time 2022-09-08
Comment number 12

Please confirm if this resolves your issue.

@yonzhan
Copy link
Collaborator

yonzhan commented May 14, 2024

Thank you for opening this issue, we will look into it.

@microsoft-github-policy-service microsoft-github-policy-service bot added Auto-Assign Auto assign by bot Azure CLI Team The command of the issue is owned by Azure CLI team question The issue doesn't require a change to the product in order to be resolved. Most issues start as that Account az login/account labels May 14, 2024
@yonzhan yonzhan added this to the Backlog milestone May 14, 2024
@yonzhan yonzhan removed the bug This issue requires a change to an existing behavior in the product in order to be resolved. label May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AAD Account az login/account Auto-Assign Auto assign by bot Auto-Resolve Auto resolve by bot Azure CLI Team The command of the issue is owned by Azure CLI team question The issue doesn't require a change to the product in order to be resolved. Most issues start as that Similar-Issue Storage az storage
Projects
None yet
Development

No branches or pull requests

5 participants