Sample code for 30+ languages & platforms
Ruby

Azure List Storage Accounts

See more Azure Storage Accounts Examples

Demonstrates how to list Azure storage accounts.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

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

http = Chilkat::CkHttp.new()

# Load an OAuth2 access token previously fetched by this example:  Get Azure OAuth2 Access Token
jsonToken = Chilkat::CkJsonObject.new()
success = jsonToken.LoadFile("qa_data/tokens/azureToken.json")
# Assuming success..
http.put_AuthToken(jsonToken.stringOf("access_token"))
print "AuthToken: " + http.authToken() + "\n";

http.put_Accept("application/json")

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

jsonResp = http.quickGetStr(url)
if (http.get_LastMethodSuccess() != true)
    print http.lastErrorText() + "\n";
    exit
end

print "Response Status Code: " + http.get_LastStatus().to_s() + "\n";

json = Chilkat::CkJsonObject.new()
json.Load(jsonResp)
json.put_EmitCompact(false)
print json.emit() + "\n";

if (http.get_LastStatus() != 200)
    print "Failed." + "\n";
    exit
end

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

i = 0
count_i = json.SizeOfArray("value")
while i < count_i
    json.put_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
end