Sample code for 30+ languages & platforms
Dart

Azure List Storage Accounts

See more Azure Storage Accounts Examples

Demonstrates how to list Azure storage accounts.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  final http = CkHttp();

  // Load an OAuth2 access token previously fetched by this example:  Get Azure OAuth2 Access Token
  final jsonToken = CkJsonObject();
  jsonToken.loadFile('qa_data/tokens/azureToken.json');
  // Assuming success..
  http.authToken = jsonToken.stringOf('access_token');
  print('AuthToken: ${http.authToken}');

  http.accept = 'application/json';

  final url = 'https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts?api-version=2018-11-01';

  final String jsonResp;
  try {
    jsonResp = http.quickGetStr(url);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('Response Status Code: ${http.lastStatus}');

  final json = CkJsonObject();
  json.load(jsonResp);
  json.emitCompact = false;
  print(json.emit());

  if (http.lastStatus != 200) {
    print('Failed.');
    return;
  }

  // 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"
  //       }
  //     }
  //   ]
  // }
  // 

  var i = 0;
  var skuName = '';
  var skuTier = '';
  var kind = '';
  var id = '';
  var name = '';
  var vType = '';
  var location = '';
  var propertiesNetworkAclsBypass = '';
  var propertiesNetworkAclsDefaultAction = '';
  var propertiesEncryptionServicesFileLastEnabledTime = '';
  var propertiesEncryptionServicesBlobLastEnabledTime = '';
  var propertiesEncryptionKeySource = '';
  var propertiesProvisioningState = '';
  var propertiesCreationTime = '';
  var propertiesPrimaryEndpointsBlob = '';
  var propertiesPrimaryEndpointsQueue = '';
  var propertiesPrimaryEndpointsTable = '';
  var propertiesPrimaryEndpointsFile = '';
  var propertiesPrimaryLocation = '';
  var propertiesStatusOfPrimary = '';

  i = 0;
  final countI = json.sizeOfArray('value');
  while (i < countI) {
    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');
    vType = 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');
    json.boolOf('value[i].properties.supportsHttpsTrafficOnly');
    json.boolOf('value[i].properties.encryption.services.file.enabled');
    propertiesEncryptionServicesFileLastEnabledTime = json.stringOf('value[i].properties.encryption.services.file.lastEnabledTime');
    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++;
  }
}