Sample code for 30+ languages & platforms
C#

Azure Create Storage Account

See more Azure Storage Accounts Examples

Demonstrates how to create an Azure storage account.

Chilkat C# Downloads

C#
bool success = false;

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

Chilkat.Http http = new Chilkat.Http();

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

http.Accept = "application/json";

// Create the following JSON:

// {
//   "sku": {
//     "name": "Standard_GRS"
//   },
//   "kind": "StorageV2",
//   "location": "eastus2",
// }

// Use this online tool to generate the code from sample JSON: 
// Generate Code to Create JSON

Chilkat.JsonObject jsonRequestBody = new Chilkat.JsonObject();
jsonRequestBody.UpdateString("sku.name","Standard_GRS");
jsonRequestBody.UpdateString("kind","StorageV2");
jsonRequestBody.UpdateString("location","eastus2");

string url = "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}?api-version=2018-02-01";

Chilkat.HttpResponse resp = new Chilkat.HttpResponse();
success = http.HttpJson("PUT",url,jsonRequestBody,"application/json",resp);
if (success == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

Debug.WriteLine("Response Status Code: " + Convert.ToString(resp.StatusCode));

Chilkat.JsonObject json = new Chilkat.JsonObject();
json.Load(resp.BodyStr);
json.EmitCompact = false;
Debug.WriteLine(json.Emit());

if (resp.StatusCode >= 300) {
    Debug.WriteLine("Failed.");
    return;
}

// Successful requests to create a new account return a 202 status code with an empty response body. The storage account is created asynchronously. 
// If the account already exists or is being provisioned, the request response has a 200 return code with the configuration of the existing storage account in the response body.
if (resp.StatusCode == 202) {
    Debug.WriteLine("Azure-AsyncOperation: " + resp.GetHeaderField("Azure-AsyncOperation"));
}

if (resp.StatusCode == 200) {

    // Parse a response like this:

    // 	{
    // 	  "sku": {
    // 	    "name": "Standard_GRS",
    // 	    "tier": "Standard"
    // 	  },
    // 	  "kind": "StorageV2",
    // 	  "id": "/subscriptions/6c42643b-ebef-45f0-b917-b3583b84a57f/resourceGroups/gChilkat/providers/Microsoft.Storage/storageAccounts/chilkatsoftware",
    // 	  "name": "chilkatsoftware",
    // 	  "type": "Microsoft.Storage/storageAccounts",
    // 	  "location": "eastus2",
    // 	  "tags": {},
    // 	  "properties": {
    // 	    "networkAcls": {
    // 	      "bypass": "AzureServices",
    // 	      "virtualNetworkRules": [
    // 	      ],
    // 	      "ipRules": [
    // 	      ],
    // 	      "defaultAction": "Allow"
    // 	    },
    // 	    "supportsHttpsTrafficOnly": false,
    // 	    "encryption": {
    // 	      "services": {
    // 	        "file": {
    // 	          "enabled": true,
    // 	          "lastEnabledTime": "2019-05-14T22:18:33.2246670Z"
    // 	        },
    // 	        "blob": {
    // 	          "enabled": true,
    // 	          "lastEnabledTime": "2019-05-14T22:18:33.2246670Z"
    // 	        }
    // 	      },
    // 	      "keySource": "Microsoft.Storage"
    // 	    },
    // 	    "accessTier": "Hot",
    // 	    "provisioningState": "Succeeded",
    // 
    // 	    "creationTime": "2019-05-14T22:18:33.1309165Z",
    // 	    "primaryEndpoints": {
    // 	      "dfs": "https://chilkatsoftware.dfs.core.windows.net/",
    // 	      "web": "https://chilkatsoftware.z20.web.core.windows.net/",
    // 	      "blob": "https://chilkatsoftware.blob.core.windows.net/",
    // 	      "queue": "https://chilkatsoftware.queue.core.windows.net/",
    // 	      "table": "https://chilkatsoftware.table.core.windows.net/",
    // 	      "file": "https://chilkatsoftware.file.core.windows.net/"
    // 	    },
    // 	    "primaryLocation": "eastus2",
    // 	    "statusOfPrimary": "available",
    // 	    "secondaryLocation": "centralus",
    // 	    "statusOfSecondary": "available"
    // 	  }
    // 	}

    // Use this online tool to generate parsing code from sample JSON: 
    // Generate Parsing Code from JSON

    string skuName;
    string skuTier;
    string kind;
    string id;
    string name;
    string v_type;
    string location;
    string propertiesNetworkAclsBypass;
    string propertiesNetworkAclsDefaultAction;
    bool propertiesSupportsHttpsTrafficOnly;
    bool propertiesEncryptionServicesFileEnabled;
    string propertiesEncryptionServicesFileLastEnabledTime;
    bool propertiesEncryptionServicesBlobEnabled;
    string propertiesEncryptionServicesBlobLastEnabledTime;
    string propertiesEncryptionKeySource;
    string propertiesAccessTier;
    string propertiesProvisioningState;
    string propertiesCreationTime;
    string propertiesPrimaryEndpointsDfs;
    string propertiesPrimaryEndpointsWeb;
    string propertiesPrimaryEndpointsBlob;
    string propertiesPrimaryEndpointsQueue;
    string propertiesPrimaryEndpointsTable;
    string propertiesPrimaryEndpointsFile;
    string propertiesPrimaryLocation;
    string propertiesStatusOfPrimary;
    string propertiesSecondaryLocation;
    string propertiesStatusOfSecondary;
    int i;
    int count_i;

    skuName = json.StringOf("sku.name");
    skuTier = json.StringOf("sku.tier");
    kind = json.StringOf("kind");
    id = json.StringOf("id");
    name = json.StringOf("name");
    v_type = json.StringOf("type");
    location = json.StringOf("location");
    propertiesNetworkAclsBypass = json.StringOf("properties.networkAcls.bypass");
    propertiesNetworkAclsDefaultAction = json.StringOf("properties.networkAcls.defaultAction");
    propertiesSupportsHttpsTrafficOnly = json.BoolOf("properties.supportsHttpsTrafficOnly");
    propertiesEncryptionServicesFileEnabled = json.BoolOf("properties.encryption.services.file.enabled");
    propertiesEncryptionServicesFileLastEnabledTime = json.StringOf("properties.encryption.services.file.lastEnabledTime");
    propertiesEncryptionServicesBlobEnabled = json.BoolOf("properties.encryption.services.blob.enabled");
    propertiesEncryptionServicesBlobLastEnabledTime = json.StringOf("properties.encryption.services.blob.lastEnabledTime");
    propertiesEncryptionKeySource = json.StringOf("properties.encryption.keySource");
    propertiesAccessTier = json.StringOf("properties.accessTier");
    propertiesProvisioningState = json.StringOf("properties.provisioningState");
    propertiesCreationTime = json.StringOf("properties.creationTime");
    propertiesPrimaryEndpointsDfs = json.StringOf("properties.primaryEndpoints.dfs");
    propertiesPrimaryEndpointsWeb = json.StringOf("properties.primaryEndpoints.web");
    propertiesPrimaryEndpointsBlob = json.StringOf("properties.primaryEndpoints.blob");
    propertiesPrimaryEndpointsQueue = json.StringOf("properties.primaryEndpoints.queue");
    propertiesPrimaryEndpointsTable = json.StringOf("properties.primaryEndpoints.table");
    propertiesPrimaryEndpointsFile = json.StringOf("properties.primaryEndpoints.file");
    propertiesPrimaryLocation = json.StringOf("properties.primaryLocation");
    propertiesStatusOfPrimary = json.StringOf("properties.statusOfPrimary");
    propertiesSecondaryLocation = json.StringOf("properties.secondaryLocation");
    propertiesStatusOfSecondary = json.StringOf("properties.statusOfSecondary");
}

Debug.WriteLine("Success.");