![]() |
Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(Delphi ActiveX) Azure Create Storage AccountDemonstrates how to create an Azure storage account.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var http: TChilkatHttp; jsonToken: TChilkatJsonObject; success: Integer; jsonRequestBody: TChilkatJsonObject; url: WideString; resp: IChilkatHttpResponse; json: TChilkatJsonObject; skuName: WideString; skuTier: WideString; kind: WideString; id: WideString; name: WideString; v_type: WideString; location: WideString; propertiesNetworkAclsBypass: WideString; propertiesNetworkAclsDefaultAction: WideString; propertiesSupportsHttpsTrafficOnly: Integer; propertiesEncryptionServicesFileEnabled: Integer; propertiesEncryptionServicesFileLastEnabledTime: WideString; propertiesEncryptionServicesBlobEnabled: Integer; propertiesEncryptionServicesBlobLastEnabledTime: WideString; propertiesEncryptionKeySource: WideString; propertiesAccessTier: WideString; propertiesProvisioningState: WideString; propertiesCreationTime: WideString; propertiesPrimaryEndpointsDfs: WideString; propertiesPrimaryEndpointsWeb: WideString; propertiesPrimaryEndpointsBlob: WideString; propertiesPrimaryEndpointsQueue: WideString; propertiesPrimaryEndpointsTable: WideString; propertiesPrimaryEndpointsFile: WideString; propertiesPrimaryLocation: WideString; propertiesStatusOfPrimary: WideString; propertiesSecondaryLocation: WideString; propertiesStatusOfSecondary: WideString; i: Integer; count_i: Integer; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := TChilkatHttp.Create(Self); // Load an OAuth2 access token previously fetched by this example: Get Azure OAuth2 Access Token jsonToken := TChilkatJsonObject.Create(Self); success := jsonToken.LoadFile('qa_data/tokens/azureToken.json'); // Assuming success.. http.AuthToken := jsonToken.StringOf('access_token'); Memo1.Lines.Add('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 jsonRequestBody := TChilkatJsonObject.Create(Self); jsonRequestBody.UpdateString('sku.name','Standard_GRS'); jsonRequestBody.UpdateString('kind','StorageV2'); jsonRequestBody.UpdateString('location','eastus2'); url := 'https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}?api-version=2018-02-01'; resp := http.PText('PUT',url,jsonRequestBody.Emit(),'utf-8','application/json',0,0); if (http.LastMethodSuccess <> 1) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; Memo1.Lines.Add('Response Status Code: ' + IntToStr(resp.StatusCode)); json := TChilkatJsonObject.Create(Self); json.Load(resp.BodyStr); json.EmitCompact := 0; Memo1.Lines.Add(json.Emit()); if (resp.StatusCode >= 300) then begin Memo1.Lines.Add('Failed.'); Exit; end; // 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) then begin Memo1.Lines.Add('Azure-AsyncOperation: ' + resp.GetHeaderField('Azure-AsyncOperation')); end; if (resp.StatusCode = 200) then begin // 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 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'); end; Memo1.Lines.Add('Success.'); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.