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.");