This action is a wrapper for the Azure command lines: az storage blob upload | az storage blob upload-batch. If you're having trouble using this action, or any of the Azure actions, please refer to the Azure command line reference.
The Upload Azure Blob action is a premium action that can be used to upload files to a blob storage container in a storage account on Azure.
Before uploading blobs, you will need a Storage Account and a Storage Container. See also the Delete Azure Blob Action.
A friendly name for this action (will be displayed in the actions workflow area).
Determines if this action will be run within the relevant stage.
The folder where the command line executable is run. This is optional and defaults to the workspace folder.
Generally you will need to log in to Azure before running this action and log out afterwards. If you have several Azure actions in a stage, you can avoid repeated logins by unchecking the Login action on all but the first Azure action and unchecking the Logout action on all but the last Azure action. The Authentication tab will be shown if either of these options is ticked.
Specifies whether one or multiple files are to be uploaded to Azure as a blob or blobs.
The path to the file to upload to Azure as blob. [--file]
The name for the uploaded blob. Leave blank to use the name of the file. [ --name]
The destination blob container which the file or files will be uploaded to. [--container-name | --destination]
The path to the source folder containing file to upload to Azure in a batch. [--source]
A globbing pattern used to select files in the source folder and its subfolders. [–pattern]
The supported pattern characters are:
* Matches zero or more of any character. ? Matches exactly one of any character. [seq] Matches one character of any of the characters within the square brackets. [!seq] Matches one character which is not one of the characters within the square brackets.
Note that matching is case-insensitive.
The destination blob container which the files will be uploaded to. [--container-name | --destination]
The path that will be prepended to the blob names. [--destination-path]
The version of the Azure command line to use. It is important that the agent has the correct version of the Azure command line installed for command provided.
The Using drop down is populated with any property collector whose namespace matches the pattern defined by the Create Azure Resource Group action. The pattern for this action is ^Azure.Cli.*
If you create a property collector for this action, make sure you select the Path Finder PlugIn type and give it a name that will match the pattern above in blue. Example names listed here, search the table's Plugin column for "Azure Command".
For more in-depth explanations on property collectors see Property Collectors.
Alternatively, you can select the Custom option from the Using drop down list and specify a path in the resulting input field that will be displayed. Please read Why it's a good idea to use a property collector before using this option.
Tick this to log in or out using a service principal instead of a username and password. An Azure service principal is an identity created for use with applications, hosted services, and automated tools to access Azure resources. This access is restricted by the roles assigned to the service principal, giving you control over which resources can be accessed and at which level. For security reasons, it's always recommended to use service principals with automated tools rather than allowing them to log in with a user identity. [login --service-principal]
Enter a username to log into the Azure cloud. This is generally an email address. [login|logout --username]
The password associated with the Azure username. [login --username]
Enter the application name or the URL associated with the service principal. [login --service-principal --username]
Enter the service principal password, or the path to a X509 certificate used to create the service principal in PEM format. [login --service-principal --password]
Enter the tenant associated with the service principal, as either an .onmicrosoft.com domain or Azure object ID. [login --service-principal --tenant]
Tick to support automatic certificate rollovers with service principals configured with Subject Name and Issuer Authentication. [login --use-cert-sn-issuer]
If this is ticked, a connection string is used.
This field is visible only if the Use Connection String checkbox is ticked.
The connection string for your storage account. [--connection-string]
The name of your storage account. [--account-name]
If this is ticked, a shared access signature (SAS) token is used.
This field is visible only if the Use Shared Access Signature (SAS) token checkbox is ticked.
Enter a shared access signature token. A shared access signature (SAS) provides you with a way to grant limited access to objects in your storage account to other clients, without exposing your account key. This is used in conjunction with storage account name. [--sas-token]
The primary or secondary access key for your storage account. [--account-key]
You can get these keys into variables using the Get Azure Storage Account Keys Action.
The ID of a lease on the existing blob. Required if the blob has an active lease. [--lease-id]
The maximum number of parallel connections to use when the blob size exceeds 64MB. The default is 2. [--max-connections]
The type of blob to upload to. Defaults to 'page' for *.vhd files, or 'block' otherwise. Once a blob has been created, its type cannot be changed. [--type]
Specifies that an MD5 hash shall be calculated for each chunk of the blob and verified by the service when the chunk has arrived. [--validate-content]
The socket timeout in seconds, used by the service to regulate data flow. [--socket-timeout]
The time in seconds to wait for the storage container to be created. Leave zero to wait until complete. [--timeout]
The name or ID of the subscription to use. If omitted the default subscription for your environment will be used. [--subscription]
A string defining the content caching policy. [--content-cache-control]
A header indicating how the content is expected to be displayed. [--content-disposition]
Defines the encoding used to compress the content. [--content-encoding]
Describes the intended language(s) of the content. [--content-language]
An MD5 hash which can be used to verify the content. [--content-md5]
The content MIME type header describing the type of content. [--content-type]
Only allow changes to an existing blob with a matching ETag. [--if-match]
Only allow changes to an existing blob if its ETag does not match the specified value. [--if-none-match]
Only allow changes to an existing blob if it has been modified since the specified date and time. [--if-modified-since]
Only allow changes to an existing blob if it has not been modified since the specified date and time. [--if-unmodified-since]
The maximum length in bytes permitted for an append blob. Leave as zero to use the default. [--maxsize-condition]
Note: This tab is visible only if the 'Batch upload all files in folder matching pattern' checkbox is not ticked under the Upload Azure Blob tab.
Select the name of the build variable to set with the ETag of the uploaded blob.
The amount of information detail to display in the build log.
How long to wait for the action to finish running before timing out. Leaving this blank (or zero) will default to 86400 seconds (24 hours).
How many seconds to wait for the Azure commands to respond with output before timing out. Leave zero to wait until the main timeout.
Tick to continue build on failure marking the action with a warning status.
If this is ticked, any warnings logged will not mark the action with a warning status.
Multiple environment variables can be defined - one per line. These are set before the command line is run.
If this is ticked, environment variable values are written to the build log.
Tick this checkbox to set up a list of new environment variables prefixed with 'ContinuaCI.' for all current system expression objects and variables.
This checkbox is visible only if the 'Generate system environment variables' checkbox is ticked.
If this is ticked, the values of any variables marked as sensitive will be masked with **** when setting system environment variables. Clear this to expose the values.