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
(DataFlex) Azure Blob Service - List all Containers in a Storage AccountAzure Storage Blob Service REST API: Lists all the containers in a storage account.
Use ChilkatAx-win32.pkg Procedure Test Handle hoRest Boolean iBTls Integer iPort Boolean iBAutoReconnect Boolean iSuccess Variant vAzAuth Handle hoAzAuth String sResponseStr Handle hoXml Integer iNumContainers Integer i String sLastModDateStr Handle hoDateTime String sLeaseState String sTemp1 Integer iTemp1 Boolean bTemp1 // Azure Blob Service Example: List all of the containers in an account. // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatRest)) To hoRest If (Not(IsComObjectCreated(hoRest))) Begin Send CreateComObject of hoRest End // Connect to the Azure Storage Blob Service Move True To iBTls Move 443 To iPort Move True To iBAutoReconnect // In this example, the storage account name is "chilkat". Get ComConnect Of hoRest "chilkat.blob.core.windows.net" iPort iBTls iBAutoReconnect To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End // Provide Azure Cloud credentials for the REST call. Get Create (RefClass(cComChilkatAuthAzureStorage)) To hoAzAuth If (Not(IsComObjectCreated(hoAzAuth))) Begin Send CreateComObject of hoAzAuth End Set ComAccessKey Of hoAzAuth To "AZURE_ACCESS_KEY" // The account name used here should match the 1st part of the domain passed in the call to Connect (above). Set ComAccount Of hoAzAuth To "chilkat" Set ComScheme Of hoAzAuth To "SharedKey" Set ComService Of hoAzAuth To "Blob" // This causes the "x-ms-version: 2021-08-06" header to be automatically added. Set ComXMsVersion Of hoAzAuth To "2021-08-06" Get pvComObject of hoAzAuth to vAzAuth Get ComSetAuthAzureStorage Of hoRest vAzAuth To iSuccess // URI parameters, such as "maxresults", are added by calling AddQueryParam Get ComAddQueryParam Of hoRest "maxresults" "1000" To iSuccess // Note: The application does not need to explicitly set the following // headers: x-ms-date, Authorization. These headers // are automatically set by Chilkat. Get ComFullRequestNoBody Of hoRest "GET" "/?comp=list" To sResponseStr Get ComLastMethodSuccess Of hoRest To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End // When successful, the Azure Storage service will respond with a 200 response code, // with an XML body. Get ComResponseStatusCode Of hoRest To iTemp1 If (iTemp1 <> 200) Begin // Examine the request/response to see what happened. Get ComResponseStatusCode Of hoRest To iTemp1 Showln "response status code = " iTemp1 Get ComResponseStatusText Of hoRest To sTemp1 Showln "response status text = " sTemp1 Get ComResponseHeader Of hoRest To sTemp1 Showln "response header: " sTemp1 Showln "response body (if any): " sResponseStr Showln "---" Get ComLastRequestStartLine Of hoRest To sTemp1 Showln "LastRequestStartLine: " sTemp1 Get ComLastRequestHeader Of hoRest To sTemp1 Showln "LastRequestHeader: " sTemp1 Procedure_Return End // Load the XML response for parsing. // A sample XML response containing 2 containers is shown below. Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Get ComLoadXml Of hoXml sResponseStr To iSuccess Get ComGetXml Of hoXml To sTemp1 Showln sTemp1 // Iterate over the containers, listing some information about each. Get ComFindChild2 Of hoXml "Containers" To iSuccess Get ComNumChildren Of hoXml To iNumContainers Move 0 To i While (i < iNumContainers) Get ComGetChild2 Of hoXml i To iSuccess Get ComGetChildContent Of hoXml "Name" To sTemp1 Showln "Container Name: " sTemp1 Get ComChilkatPath Of hoXml "Properties|Last-Modified|*" To sLastModDateStr Showln "Last Modified: " sLastModDateStr // The date/time string can be loaded into a CkDateTime object for conversion to other date formats.. Get Create (RefClass(cComCkDateTime)) To hoDateTime If (Not(IsComObjectCreated(hoDateTime))) Begin Send CreateComObject of hoDateTime End Get ComSetFromRfc822 Of hoDateTime sLastModDateStr To iSuccess Get ComChilkatPath Of hoXml "Properties|LeaseState|*" To sLeaseState Showln "Lease State: " sLeaseState Get ComGetParent2 Of hoXml To iSuccess Move (i + 1) To i Loop Get ComGetParent2 Of hoXml To iSuccess // Sample XML response: // <?xml version="1.0" encoding="utf-8" ?> // <EnumerationResults ServiceEndpoint="https://chilkat.blob.core.windows.net/"> // <MaxResults>1000</MaxResults> // <Containers> // <Container> // <Name>test</Name> // <Properties> // <Last-Modified>Wed, 20 Apr 2016 01:02:25 GMT</Last-Modified> // <Etag>"0x8D368B77024C583"</Etag> // <LeaseStatus>unlocked</LeaseStatus> // <LeaseState>available</LeaseState> // </Properties> // </Container> // <Container> // <Name>test2</Name> // <Properties> // <Last-Modified>Tue, 03 May 2016 17:13:01 GMT</Last-Modified> // <Etag>"0x8D373762EB6AC85"</Etag> // <LeaseStatus>unlocked</LeaseStatus> // <LeaseState>available</LeaseState> // </Properties> // </Container> // </Containers> // <NextMarker /> // </EnumerationResults> End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.