Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) Azure Create Storage AccountDemonstrates how to create an Azure storage account.
#import <CkoHttp.h> #import <CkoJsonObject.h> #import <NSString.h> #import <CkoHttpResponse.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoHttp *http = [[CkoHttp alloc] init]; // Load an OAuth2 access token previously fetched by this example: Get Azure OAuth2 Access Token CkoJsonObject *jsonToken = [[CkoJsonObject alloc] init]; BOOL success = [jsonToken LoadFile: @"qa_data/tokens/azureToken.json"]; // Assuming success.. http.AuthToken = [jsonToken StringOf: @"access_token"]; NSLog(@"%@%@",@"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 CkoJsonObject *jsonRequestBody = [[CkoJsonObject alloc] init]; [jsonRequestBody UpdateString: @"sku.name" value: @"Standard_GRS"]; [jsonRequestBody UpdateString: @"kind" value: @"StorageV2"]; [jsonRequestBody UpdateString: @"location" value: @"eastus2"]; NSString *url = @"https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}?api-version=2018-02-01"; CkoHttpResponse *resp = [http PText: @"PUT" url: url textData: [jsonRequestBody Emit] charset: @"utf-8" contentType: @"application/json" md5: NO gzip: NO]; if (http.LastMethodSuccess != YES) { NSLog(@"%@",http.LastErrorText); return; } NSLog(@"%@%d",@"Response Status Code: ",[resp.StatusCode intValue]); CkoJsonObject *json = [[CkoJsonObject alloc] init]; [json Load: resp.BodyStr]; json.EmitCompact = NO; NSLog(@"%@",[json Emit]); if ([resp.StatusCode intValue] >= 300) { NSLog(@"%@",@"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 intValue] == 202) { NSLog(@"%@%@",@"Azure-AsyncOperation: ",[resp GetHeaderField: @"Azure-AsyncOperation"]); } if ([resp.StatusCode intValue] == 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 NSString *skuName = 0; NSString *skuTier = 0; NSString *kind = 0; NSString *id = 0; NSString *name = 0; NSString *v_type = 0; NSString *location = 0; NSString *propertiesNetworkAclsBypass = 0; NSString *propertiesNetworkAclsDefaultAction = 0; BOOL propertiesSupportsHttpsTrafficOnly; BOOL propertiesEncryptionServicesFileEnabled; NSString *propertiesEncryptionServicesFileLastEnabledTime = 0; BOOL propertiesEncryptionServicesBlobEnabled; NSString *propertiesEncryptionServicesBlobLastEnabledTime = 0; NSString *propertiesEncryptionKeySource = 0; NSString *propertiesAccessTier = 0; NSString *propertiesProvisioningState = 0; NSString *propertiesCreationTime = 0; NSString *propertiesPrimaryEndpointsDfs = 0; NSString *propertiesPrimaryEndpointsWeb = 0; NSString *propertiesPrimaryEndpointsBlob = 0; NSString *propertiesPrimaryEndpointsQueue = 0; NSString *propertiesPrimaryEndpointsTable = 0; NSString *propertiesPrimaryEndpointsFile = 0; NSString *propertiesPrimaryLocation = 0; NSString *propertiesStatusOfPrimary = 0; NSString *propertiesSecondaryLocation = 0; NSString *propertiesStatusOfSecondary = 0; 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"]; } NSLog(@"%@",@"Success."); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.