ListBlobs Method
Lists the blobs in a container.
Syntax
ANSI (Cross Platform) int ListBlobs(); Unicode (Windows) INT ListBlobs();
- (void)listBlobs;
#define MID_AZUREBLOB_LISTBLOBS 23 IPWORKSCLOUD_EXTERNAL int IPWORKSCLOUD_CALL IPWorksCloud_AzureBlob_Do(void *lpObj, int methid, int cparam, void *param[], int cbparam[], int64 *lpllVal);
Remarks
This method lists the blobs in the container currently selected by Container.
Before calling this method, the Prefix property may be set in order to restrict the results to only the items whose names begin with a given string. The MaxResults configuration setting may also be used to limit the number of results returned. The following properties and configuration settings can also be used to further tune the results returned; refer to their documentation for more information:
Calling this method will fire the BlobList event once for each blob, and will also populate the Blob* properties. It may also fire the PrefixList and MetadataList events, and populate the PrefixCount and Prefix[i] configuration settings, depending on how the properties and configuration settings discussed above are set.
If there are still more blobs available to list when this method returns, the BlobMarker property will be populated. Continue to call this method until BlobMarker is empty to accumulate all pages of results in the Blob* properties.
Blob Namespace Traversal
By using the BlobDelimiter and Prefix properties in tandem, applications can effectively "traverse" a virtual hierarchy of blobs as if it were a filesystem. For example, assume that blobs with the following names exist within a container:
- MyCompany
- MyCompany/Department1
- MyCompany/Department2
- MyCompany/Department2/EmployeeA
- MyCompany/Department2/EmployeeB
With BlobDelimiter set to /, we can set Prefix to successively "deeper" values before calling ListBlobs for the following effect:
Prefix Value | Blobs Returned | Prefixes Returned |
(empty) | MyCompany | MyCompany/ |
MyCompany/ | MyCompany/Department1 MyCompany/Department2 | MyCompany/Department2/ |
MyCompany/Department2/ | MyCompany/Department2/EmployeeA MyCompany/Department2/EmployeeB | (none) |
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)