Sample code for 30+ languages & platforms
Xojo Plugin

Azure List Storage Accounts

See more Azure Storage Accounts Examples

Demonstrates how to list Azure storage accounts.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

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

Dim http As New Chilkat.Http

// Load an OAuth2 access token previously fetched by this example:  Get Azure OAuth2 Access Token
Dim jsonToken As New Chilkat.JsonObject
success = jsonToken.LoadFile("qa_data/tokens/azureToken.json")
// Assuming success..
http.AuthToken = jsonToken.StringOf("access_token")
System.DebugLog("AuthToken: " + http.AuthToken)

http.Accept = "application/json"

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

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

System.DebugLog("Response Status Code: " + Str(http.LastStatus))

Dim json As New Chilkat.JsonObject
success = json.Load(jsonResp)
json.EmitCompact = False
System.DebugLog(json.Emit())

If (http.LastStatus <> 200) Then
    System.DebugLog("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 Int32
Dim count_i As Int32
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")
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
Wend