AzureBlob Class
Properties Methods Events Configuration Settings Errors
The Blob Component provides an easy to use interface to Microsoft's Azure Blob Service.
Syntax
AzureBlob
Remarks
The Blob service allows you to store text and binary data. The Blob service offers the following three resources: the storage account, containers, and blobs. Within your storage account, containers provide a way to organize sets of blobs.
The class allows you to create, manage, and delete Block blobs. Block blobs are optimized for streaming, and provide a way to store large sets of data (such as files).
Please refer to Blob Service Concepts for details.
Before using the class sign up for the Azure Storage service and obtain the Account and AccessKey from Microsoft. Then you can start creating containers in your account using CreateContainer. The containers are place holders for your blobs allowing you to access them via URLs. You can then add blobs to any of your containers using CreateBlob.
There are other methods such as ListContainers, ListBlobs, GetBlob, DeleteBlob, DeleteContainer etc. that further enable you to manage your blobs.
Property List
The following is the full list of the properties of the class with short descriptions. Click on the links for further details.
AccessKey | The Windows Azure access key. |
AccessPolicy | The access policy assigned to a container. |
Account | The Windows Azure storage account name. |
BlobData | Contains the data of one blob/block. |
BlobDelimiter | The delimiter to be used when listing blobs. |
BlobsCount | The number of records in the Blobs arrays. |
BlobsBlobType | The type of the blob. |
BlobsCacheControl | The Blob service stores this value but does not use or modify it. |
BlobsContentEncoding | The content encoding of the blob. |
BlobsContentLanguage | The content language of the blob. |
BlobsContentLength | The content size in bytes of the blob. |
BlobsContentMD5 | The Content-MD5 of the blob. |
BlobsContentType | The MIME content type of the blob. |
BlobsETag | The ETag of the blob. |
BlobsLastModified | The date and time the blob was last modified. |
BlobsLeaseStatus | The lease status of the blob. |
BlobsName | The name of the blob. |
BlobsSnapshot | The DateTime value that uniquely identifies a snapshot. |
BlobsURL | The URL of the blob. |
BlobSnapshot | The DateTime value that uniquely identifies a snapshot. |
BlocksCount | The number of records in the Blocks arrays. |
BlocksType | Indicates the type of the block. |
BlocksId | The ID of the block. |
BlocksSize | The size of the block. |
Connected | Shows whether the component is connected. |
ContainerName | Identifies the container in which an operation will be performed. |
ContainersCount | The number of records in the Containers arrays. |
ContainersETag | The ETag of the current container. |
ContainersLastModified | The date and time the container was last modified. |
ContainersName | The name of the current container. |
ContainersURL | The URL of the current container. |
EncryptionAlgorithm | The encryption algorithm. |
EncryptionPassword | The password to use when encrypting/decrypting a blob. |
FirewallAutoDetect | This property tells the component whether or not to automatically detect and use firewall system settings, if available. |
FirewallType | This property determines the type of firewall to connect through. |
FirewallHost | This property contains the name or IP address of firewall (optional). |
FirewallPassword | This property contains a password if authentication is to be used when connecting through the firewall. |
FirewallPort | This property contains the TCP port for the firewall Host . |
FirewallUser | This property contains a user name if authentication is to be used connecting through a firewall. |
FollowRedirects | Determines what happens when the server issues a redirect. |
Idle | The current status of the component. |
IfMatch | Specifies the condition for which the operation should be performed. |
LeaseId | The unique Lease ID of a blob. |
LocalFile | The path to a local file for uploading or downloading blob data. When downloading, if the file exists it is overwritten (optional). |
LocalHost | The name of the local host or user-assigned IP interface through which connections are initiated or accepted. |
Marker | A string value that identifies the current position in the list of results. |
MetadataCount | The number of records in the Metadata arrays. |
MetadataName | The name of the current metadata element. |
MetadataValue | The value of the current metadata element. |
OtherHeaders | Other headers as determined by the user (optional). |
Overwrite | Whether or not the component should overwrite files during transfer. |
ParsedHeaderCount | The number of records in the ParsedHeader arrays. |
ParsedHeaderField | This property contains the name of the HTTP header (same case as it is delivered). |
ParsedHeaderValue | This property contains the header contents. |
Prefix | Filters the results to return only blobs/containers whose names begin with the specified prefix. |
ProxyAuthScheme | This property is used to tell the component which type of authorization to perform when connecting to the proxy. |
ProxyAutoDetect | This property tells the component whether or not to automatically detect and use proxy system settings, if available. |
ProxyPassword | This property contains a password if authentication is to be used for the proxy. |
ProxyPort | This property contains the TCP port for the proxy Server (default 80). |
ProxyServer | If a proxy Server is given, then the HTTP request is sent to the proxy instead of the server otherwise specified. |
ProxySSL | This property determines when to use SSL for the connection to the proxy. |
ProxyUser | This property contains a user name, if authentication is to be used for the proxy. |
Range | The byte-range to be sent to the server. |
SSLAcceptServerCertEncoded | The certificate (PEM/base64 encoded). |
SSLCertEncoded | The certificate (PEM/base64 encoded). |
SSLCertStore | The name of the certificate store for the client certificate. |
SSLCertStorePassword | If the certificate store is of a type that requires a password, this property is used to specify that password in order to open the certificate store. |
SSLCertStoreType | The type of certificate store for this certificate. |
SSLCertSubject | The subject of the certificate used for client authentication. |
SSLServerCertEncoded | The certificate (PEM/base64 encoded). |
StatusLine | The first line of the last server response. |
Timeout | A timeout for the component. |
UseSSL | Specifies whether SSL will be used to access Azure Blob. |
Method List
The following is the full list of the methods of the class with short descriptions. Click on the links for further details.
AddBlock | Adds a block to the blocks list that will be assembled to form a blob. |
AddUserMetadata | Adds user specified metadata to the Metadata list. |
Config | Sets or retrieves a configuration setting . |
CopyBlob | Copies a source blob to a destination blob within the same storage account. |
CreateBlob | Creates a new blob or updates the content of an existing blob within a container. |
CreateBlock | Creates a new block to be committed as part of a block blob. |
CreateContainer | Creates a new container within a storage account. |
CreateSnapshot | Creates a read-only snapshot of a blob. |
DeleteBlob | Deletes a blob. |
DeleteContainer | Deletes the container and any blobs that it contains. |
DoEvents | Processes events from the internal message queue. |
GetBlob | Reads or downloads a blob, including its metadata and properties. |
GetBlobMetadata | Gets the user-specified metadata for a blob. |
GetContainerACL | Gets the access policy for the container. |
GetContainerMetadata | Gets the user-specified metadata for a container. |
GetLink | Creates a link to access a blob for the amount of seconds specified. |
Interrupt | Interrupt the current method. |
LeaseBlob | Lease a blob to establish an exclusive one minute lock on a blob. LeaseAction: Acquire(0): Requests a new lease. Renew(1): Renews the lease. Release(2): Release the lease. Break(3): Break the lease, if the blob has an active lease. |
ListBlobs | List the blobs under a specified container. |
ListBlocks | List the blocks under the specified block blob. |
ListContainers | List the containers under the specified account. |
PutBlockList | Commits a blob using the specified set of block IDs that make up the blob. |
Reset | Resets request-related properties. |
ResetHeaders | Resets all HTTP headers, cookies, and localfile. |
SetBlobMetadata | Sets the user-specified metadata for a blob. |
SetContainerACL | Sets the access policy for the container. |
SetContainerMetadata | Sets the user-specified metadata for a container. |
Event List
The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.
BlobList | Fired for every blob when ListBlobs is called. |
BlockList | Fired for every block when ListBlocks is called. |
Connected | Fired immediately after a connection completes (or fails). |
ContainerList | Fired for every container when ListContainers is called. |
Disconnected | Fired when a connection is closed. |
EndTransfer | Fired when a document finishes transferring. |
Error | Information about errors during data delivery. |
Header | Fired every time a header line comes in. |
Metadata | Fired when valid blob or container metadata is returned. |
PrefixList | Fired for each blob prefix returned when BlobDelimiter is set and ListBlobs is called.. |
SSLServerAuthentication | Fired after the server presents its certificate to the client. |
SSLStatus | Shows the progress of the secure connection. |
StartTransfer | Fired when a document starts transferring (after the headers). |
Status | Fired when the HTTP status line is received from the server. |
Transfer | Fired while a document transfers (delivers document). |
Configuration Settings
The following is a list of configuration settings for the class with short descriptions. Click on the links for further details.
BlobContentEncoding | Specifies which content encodings have been applied to the blob. |
BlobContentType | The content type of the blob. |
EncryptionIV | The initialization vector to be used for encryption/decryption. |
EncryptionKey | The key to use during AES encryption/decryption. |
ETag | The ETag for the container/blob returned by the server. |
EncodeBlockId | If true, the id of a block will be automatically base 64 encoded and decoded. |
IncludeContentMD5 | Specifies whether or not the Content-MD5 header will be added to the outgoing request. |
IncludeMetadata | Determines if the container/blob's metadata will be returned. |
IncludeProperties | Specifies if the blob's properties should be included in the response. |
IncludeSnapshots | Specifies whether or not the blob's snapshots will be returned. |
IncludeUncommittedBlobs | Specifies if uncommitted blobs will be returned. |
LastModified | The last modified time for the container/blob returned by the server. |
LinkStartTime | StartTime for Shared Access Signature (SAS) URLs. |
MaxResults | Specifies the maximum number of blobs/containers to be returned when calling ListBlobs or ListContainers. |
Prefix[i] | The common prefix at index 'i'. |
PrefixCount | The number of common prefixes. |
PrefixOtherData[i] | The common prefix other data at index 'i'. |
ResponseCacheControl | Sets the Cache-Control header of the response. |
ResponseContentDisposition | Sets the Content-Disposition header of the response. |
ResponseContentEncoding | Sets the Content-Encoding header of the response. |
ResponseContentLanguage | Sets the Content-Language header of the response. |
ResponseContentType | Sets the Content-Type header of the response. |
SetBlobProperties | Determines if to set the system properties for the blob. |
SourceIfMatch | Specifies the ETag of the source blob for a conditional update. |
SourceLeaseID | Specifies the lease ID of the source blob to copy. |
StartByte | The byte position of the last successfully uploaded block. |
StorePrefixList | If true, store the common prefixes when ListBlobs is called. |
TempPath | If set, the temporary files created during decryption will be put in the path specified. |
APIVersion | The API version specified in the request. |
TransferredData | Returns the entire XML response received from Azure. |
URL | If set, the default URL(http://youraccount.blob.core.windows.net/) will be overridden by this value. |
AzureTimeout | Gets or sets the service timeout for the request in seconds. |
DateFormat | The format string to be used for formatting the DateTime values received from the server. |
AcceptEncoding | Used to tell the server which types of content encodings the client supports. |
AllowHTTPCompression | This property enables HTTP compression for receiving data. |
AllowHTTPFallback | Whether HTTP/2 connections are permitted to fallback to HTTP/1.1. |
Append | Whether to append data to LocalFile. |
Authorization | The Authorization string to be sent to the server. |
BytesTransferred | Contains the number of bytes transferred in the response data. |
EncodeURL | If set to true the URL will be encoded by the component. |
FollowRedirects | Determines what happens when the server issues a redirect. |
GetOn302Redirect | If set to true the component will perform a GET on the new location. |
HTTPVersion | The version of HTTP used by the component. |
HTTP2HeadersWithoutIndexing | HTTP2 headers that should not update the dynamic header table with incremental indexing. |
IfModifiedSince | A date determining the maximum age of the desired document. |
KeepAlive | Determines whether the HTTP connection is closed after completion of the request. |
LogLevel | The level of detail that is logged. |
MaxRedirectAttempts | Limits the number of redirects that are followed in a request. |
NegotiatedHTTPVersion | The negotiated HTTP version. |
OtherHeaders | Other headers as determined by the user (optional). |
ProxyAuthorization | The authorization string to be sent to the proxy server. |
ProxyAuthScheme | The authorization scheme to be used for the proxy. |
ProxyPassword | A password if authentication is to be used for the proxy. |
ProxyPort | Port for the proxy server (default 80). |
ProxyServer | Name or IP address of a proxy server (optional). |
ProxyUser | A user name if authentication is to be used for the proxy. |
TransferredData | The contents of the last response from the server. |
TransferredDataLimit | The maximum number of incoming bytes to be stored by the component. |
TransferredHeaders | The full set of headers as received from the server. |
UseChunkedEncoding | Enables or Disables HTTP chunked encoding for transfers. |
ChunkSize | Specifies the chunk size in bytes when using chunked encoding. |
UsePlatformHTTPClient | Whether or not to use the platform HTTP client. |
UserAgent | Information about the user agent (browser). |
KerberosSPN | The Service Principal Name for the Kerberos Domain Controller. |
ConnectionTimeout | Sets a separate timeout value for establishing a connection. |
FirewallAutoDetect | Tells the component whether or not to automatically detect and use firewall system settings, if available. |
FirewallHost | Name or IP address of firewall (optional). |
FirewallPassword | Password to be used if authentication is to be used when connecting through the firewall. |
FirewallPort | The TCP port for the FirewallHost;. |
FirewallType | Determines the type of firewall to connect through. |
FirewallUser | A user name if authentication is to be used connecting through a firewall. |
KeepAliveTime | The inactivity time in milliseconds before a TCP keep-alive packet is sent. |
KeepAliveInterval | The retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received. |
KeepAliveRetryCount | The number of keep-alive packets to be sent before the remotehost is considered disconnected. |
Linger | When set to True, connections are terminated gracefully. |
LingerTime | Time in seconds to have the connection linger. |
LocalHost | The name of the local host through which connections are initiated or accepted. |
LocalPort | The port in the local host where the component binds. |
MaxLineLength | The maximum amount of data to accumulate when no EOL is found. |
MaxTransferRate | The transfer rate limit in bytes per second. |
ProxyExceptionsList | A semicolon separated list of hosts and IPs to bypass when using a proxy. |
TCPKeepAlive | Determines whether or not the keep alive socket option is enabled. |
UseIPv6 | Whether to use IPv6. |
TcpNoDelay | Whether or not to delay when sending packets. |
LogSSLPackets | Controls whether SSL packets are logged when using the internal security API. |
ReuseSSLSession | Determines if the SSL session is reused. |
SSLCipherStrength | The minimum cipher strength used for bulk encryption. |
SSLEnabledProtocols | Used to enable/disable the supported security protocols. |
SSLIncludeCertChain | Whether the entire certificate chain is included in the SSLServerAuthentication event. |
SSLProvider | The name of the security provider to use. |
SSLSecurityFlags | Flags that control certificate verification. |
SSLCACerts | A newline separated list of CA certificate to use during SSL client authentication. |
SSLEnabledCipherSuites | The cipher suite to be used in an SSL negotiation. |
TLS12SignatureAlgorithms | Defines the allowed TLS 1.2 signature algorithms when UseInternalSecurityAPI is True. |
TLS12SupportedGroups | The supported groups for ECC. |
TLS13KeyShareGroups | The groups for which to pregenerate key shares. |
TLS13SupportedGroups | The supported groups for (EC)DHE key exchange. |
TLS13SignatureAlgorithms | The allowed certificate signature algorithms. |
OpenSSLCADir | The path to a directory containing CA certificates. |
OpenSSLCAFile | Name of the file containing the list of CA's trusted by your application. |
OpenSSLCipherList | A string that controls the ciphers to be used by SSL. |
OpenSSLPrngSeedData | The data to seed the pseudo random number generator (PRNG). |
AbsoluteTimeout | Determines whether timeouts are inactivity timeouts or absolute timeouts. |
FirewallData | Used to send extra data to the firewall. |
InBufferSize | The size in bytes of the incoming queue of the socket. |
OutBufferSize | The size in bytes of the outgoing queue of the socket. |
SelectWaitMillis | The length of time in milliseconds the component will wait when DoEvents is called if there are no events to process. |
CodePage | The system code page used for Unicode to Multibyte translations. |
UseInternalSecurityAPI | Tells the component whether or not to use the system security libraries or an internal implementation. |