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
(PHP Extension) Azure Blob Service - List all Containers in a Storage AccountAzure Storage Blob Service REST API: Lists all the containers in a storage account.
<?php // The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number. // For example, if using Chilkat v9.5.0.48, then include as shown here: include("chilkat_9_5_0.php"); // 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. $rest = new CkRest(); // Connect to the Azure Storage Blob Service $bTls = true; $port = 443; $bAutoReconnect = true; // In this example, the storage account name is "chilkat". $success = $rest->Connect('chilkat.blob.core.windows.net',$port,$bTls,$bAutoReconnect); if ($success != true) { print $rest->lastErrorText() . "\n"; exit; } // Provide Azure Cloud credentials for the REST call. $azAuth = new CkAuthAzureStorage(); $azAuth->put_AccessKey('AZURE_ACCESS_KEY'); // The account name used here should match the 1st part of the domain passed in the call to Connect (above). $azAuth->put_Account('chilkat'); $azAuth->put_Scheme('SharedKey'); $azAuth->put_Service('Blob'); // This causes the "x-ms-version: 2020-08-04" header to be automatically added. $azAuth->put_XMsVersion('2020-08-04'); $success = $rest->SetAuthAzureStorage($azAuth); // URI parameters, such as "maxresults", are added by calling AddQueryParam $success = $rest->AddQueryParam('maxresults','1000'); // Note: The application does not need to explicitly set the following // headers: x-ms-date, Authorization. These headers // are automatically set by Chilkat. $responseStr = $rest->fullRequestNoBody('GET','/?comp=list'); if ($rest->get_LastMethodSuccess() != true) { print $rest->lastErrorText() . "\n"; exit; } // When successful, the Azure Storage service will respond with a 200 response code, // with an XML body. if ($rest->get_ResponseStatusCode() != 200) { // Examine the request/response to see what happened. print 'response status code = ' . $rest->get_ResponseStatusCode() . "\n"; print 'response status text = ' . $rest->responseStatusText() . "\n"; print 'response header: ' . $rest->responseHeader() . "\n"; print 'response body (if any): ' . $responseStr . "\n"; print '---' . "\n"; print 'LastRequestStartLine: ' . $rest->lastRequestStartLine() . "\n"; print 'LastRequestHeader: ' . $rest->lastRequestHeader() . "\n"; exit; } // Load the XML response for parsing. // A sample XML response containing 2 containers is shown below. $xml = new CkXml(); $success = $xml->LoadXml($responseStr); print $xml->getXml() . "\n"; // Iterate over the containers, listing some information about each. $success = $xml->FindChild2('Containers'); $numContainers = $xml->get_NumChildren(); $i = 0; while (($i < $numContainers)) { $success = $xml->GetChild2($i); print 'Container Name: ' . $xml->getChildContent('Name') . "\n"; $lastModDateStr = $xml->chilkatPath('Properties|Last-Modified|*'); print 'Last Modified: ' . $lastModDateStr . "\n"; // The date/time string can be loaded into a CkDateTime object for conversion to other date formats.. $dateTime = new CkDateTime(); $success = $dateTime->SetFromRfc822($lastModDateStr); $leaseState = $xml->chilkatPath('Properties|LeaseState|*'); print 'Lease State: ' . $leaseState . "\n"; $success = $xml->GetParent2(); $i = $i + 1; } $success = $xml->GetParent2(); // 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> ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.