Sample code for 30+ languages & platforms
B4X

Azure List Storage Accounts

See more Azure Storage Accounts Examples

Demonstrates how to list Azure storage accounts.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example requires the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim http As ChilkatHttp
http.Initialize("http")

'  Load an OAuth2 access token previously fetched by this example:  Get Azure OAuth2 Access Token
Dim jsonToken As ChilkatJsonObject
jsonToken.Initialize
success = jsonToken.LoadFile("qa_data/tokens/azureToken.json")
'  Assuming success..
http.AuthToken = jsonToken.StringOf("access_token")
Log("AuthToken: " & http.AuthToken)

http.Accept = "application/json"

Dim url As String = "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts?api-version=2018-11-01"

Dim jsonResp As String = http.QuickGetStr(url)
If http.LastMethodSuccess <> True Then
    Log(http.LastErrorText)
    Return
End If


Log("Response Status Code: " & http.LastStatus)

Dim json As ChilkatJsonObject
json.Initialize
json.Load(jsonResp)
json.EmitCompact = False
Log(json.Emit)

If http.LastStatus <> 200 Then
    Log("Failed.")
    Return
End If


'  Sample output...
'  (See the parsing code below..)
'  
'  Use this online tool to generate parsing code from sample JSON: 
'  Generate Parsing Code from JSON

'  {
'    "value": [
'      {
'        "sku": {
'          "name": "Standard_LRS",
'          "tier": "Standard"
'        },
'        "kind": "Storage",
'        "id": "/subscriptions/6c42643b-ebef-45e0-b917-b3583b84a57f/resourceGroups/gchilkat/providers/Microsoft.Storage/storageAccounts/chilkat",
'        "name": "chilkat",
'        "type": "Microsoft.Storage/storageAccounts",
'        "location": "eastus",
'        "tags": {},
'        "properties": {
'          "networkAcls": {
'            "bypass": "AzureServices",
'            "virtualNetworkRules": [
'            ],
'            "ipRules": [
'            ],
'            "defaultAction": "Allow"
'          },
'          "supportsHttpsTrafficOnly": true,
'          "encryption": {
'            "services": {
'              "file": {
'                "enabled": true,
'                "lastEnabledTime": "2017-12-28T11:02:10.6840887Z"
'              },
'              "blob": {
'                "enabled": true,
'                "lastEnabledTime": "2017-12-28T11:02:10.6840887Z"
'              }
'            },
'            "keySource": "Microsoft.Storage"
'          },
'          "provisioningState": "Succeeded",
'          "creationTime": "2016-04-18T22:57:36.5377065Z",
'          "primaryEndpoints": {
'            "blob": "https://chilkat.blob.core.windows.net/",
'            "queue": "https://chilkat.queue.core.windows.net/",
'            "table": "https://chilkat.table.core.windows.net/",
'            "file": "https://chilkat.file.core.windows.net/"
'          },
'          "primaryLocation": "eastus",
'          "statusOfPrimary": "available"
'        }
'      }
'    ]
'  }
'  

Dim i As Int
Dim count_i As Int
Dim skuName As String
Dim skuTier As String
Dim kind As String
Dim id As String
Dim name As String
Dim v_type As String
Dim location As String
Dim propertiesNetworkAclsBypass As String
Dim propertiesNetworkAclsDefaultAction As String
Dim propertiesSupportsHttpsTrafficOnly As Boolean
Dim propertiesEncryptionServicesFileEnabled As Boolean
Dim propertiesEncryptionServicesFileLastEnabledTime As String
Dim propertiesEncryptionServicesBlobEnabled As Boolean
Dim propertiesEncryptionServicesBlobLastEnabledTime As String
Dim propertiesEncryptionKeySource As String
Dim propertiesProvisioningState As String
Dim propertiesCreationTime As String
Dim propertiesPrimaryEndpointsBlob As String
Dim propertiesPrimaryEndpointsQueue As String
Dim propertiesPrimaryEndpointsTable As String
Dim propertiesPrimaryEndpointsFile As String
Dim propertiesPrimaryLocation As String
Dim propertiesStatusOfPrimary As String

i = 0
count_i = json.SizeOfArray("value")
Do While i < count_i
    json.I = i
    skuName = json.StringOf("value[i].sku.name")
    skuTier = json.StringOf("value[i].sku.tier")
    kind = json.StringOf("value[i].kind")
    id = json.StringOf("value[i].id")
    name = json.StringOf("value[i].name")
    v_type = json.StringOf("value[i].type")
    location = json.StringOf("value[i].location")
    propertiesNetworkAclsBypass = json.StringOf("value[i].properties.networkAcls.bypass")
    propertiesNetworkAclsDefaultAction = json.StringOf("value[i].properties.networkAcls.defaultAction")
    propertiesSupportsHttpsTrafficOnly = json.BoolOf("value[i].properties.supportsHttpsTrafficOnly")
    propertiesEncryptionServicesFileEnabled = json.BoolOf("value[i].properties.encryption.services.file.enabled")
    propertiesEncryptionServicesFileLastEnabledTime = json.StringOf("value[i].properties.encryption.services.file.lastEnabledTime")
    propertiesEncryptionServicesBlobEnabled = json.BoolOf("value[i].properties.encryption.services.blob.enabled")
    propertiesEncryptionServicesBlobLastEnabledTime = json.StringOf("value[i].properties.encryption.services.blob.lastEnabledTime")
    propertiesEncryptionKeySource = json.StringOf("value[i].properties.encryption.keySource")
    propertiesProvisioningState = json.StringOf("value[i].properties.provisioningState")
    propertiesCreationTime = json.StringOf("value[i].properties.creationTime")
    propertiesPrimaryEndpointsBlob = json.StringOf("value[i].properties.primaryEndpoints.blob")
    propertiesPrimaryEndpointsQueue = json.StringOf("value[i].properties.primaryEndpoints.queue")
    propertiesPrimaryEndpointsTable = json.StringOf("value[i].properties.primaryEndpoints.table")
    propertiesPrimaryEndpointsFile = json.StringOf("value[i].properties.primaryEndpoints.file")
    propertiesPrimaryLocation = json.StringOf("value[i].properties.primaryLocation")
    propertiesStatusOfPrimary = json.StringOf("value[i].properties.statusOfPrimary")
    i = i + 1
Loop