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.
Upload Azure Blob
Name
A friendly name for this action (will be displayed in the actions workflow area).
Enabled
Determines if this action will be run within the relevant stage.
Working Folder
The folder where the command line executable is run. This is optional and defaults to the workspace folder.
Authentication Actions
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.
Batch upload all files in folder matching pattern
Specifies whether one or multiple files are to be uploaded to Azure as a blob or blobs.
Source File
The path to the file to upload to Azure as blob. [--file]
Blob Name
The name for the uploaded blob. Leave blank to use the name of the file. [ --name]
Container Name
The destination blob container which the file or files will be uploaded to. [--container-name | --destination]
If the 'Batch upload all files in folder matching pattern' checkbox is ticked
Source Folder
The path to the source folder containing file to upload to Azure in a batch. [--source]
Pattern
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.
Container Name
The destination blob container which the files will be uploaded to. [--container-name | --destination]
Destination Path
The path that will be prepended to the blob names. [--destination-path]
Using
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.
Authentication
Sign in/out using service principal
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]
Username / Password Authentication
Username
Enter a username to log into the Azure cloud. This is generally an email address. [login|logout --username]
Password
The password associated with the Azure username. [login --username]
Service Principal Authentication
Name or URL
Enter the application name or the URL associated with the service principal. [login --service-principal --username]
Client Secret or Certificate
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]
Tenant
Enter the tenant associated with the service principal, as either an .onmicrosoft.com domain or Azure object ID. [login --service-principal --tenant]
Use certificate SN issuer
Tick to support automatic certificate rollovers with service principals configured with Subject Name and Issuer Authentication. [login --use-cert-sn-issuer]
Storage Account
Use connection string
If this is ticked, a connection string is used.
Connection String
This field is visible only if the Use Connection String checkbox is ticked.
The connection string for your storage account. [--connection-string]
Account Name
The name of your storage account. [--account-name]
Use Shared Access Signature (SAS) token
If this is ticked, a shared access signature (SAS) token is used.
SAS Token
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]
Account Key
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.
Settings
Lease ID
The ID of a lease on the existing blob. Required if the blob has an active lease. [--lease-id]
Max Connections
The maximum number of parallel connections to use when the blob size exceeds 64MB. The default is 2. [--max-connections]
Blob Type
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]
Validate Content
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]
Socket Timeout (in seconds)
The socket timeout in seconds, used by the service to regulate data flow. [--socket-timeout]
Command Timeout (in seconds)
The time in seconds to wait for the storage container to be created. Leave zero to wait until complete. [--timeout]
Subscription
The name or ID of the subscription to use. If omitted the default subscription for your environment will be used. [--subscription]
Headers
Content Cache Control
A string defining the content caching policy. [--content-cache-control]
Content Disposition
A header indicating how the content is expected to be displayed. [--content-disposition]
Content Encoding
Defines the encoding used to compress the content. [--content-encoding]
Content Language
Describes the intended language(s) of the content. [--content-language]
Content MD5 Hash
An MD5 hash which can be used to verify the content. [--content-md5]
Content MIME Type
The content MIME type header describing the type of content. [--content-type]
Conditions
Content ETag To Allow
Only allow changes to an existing blob with a matching ETag. [--if-match]
Content ETag To Disallow
Only allow changes to an existing blob if its ETag does not match the specified value. [--if-none-match]
Only if modified since
Only allow changes to an existing blob if it has been modified since the specified date and time. [--if-modified-since]
Only if unmodified since
Only allow changes to an existing blob if it has not been modified since the specified date and time. [--if-unmodified-since]
Maximum Size
The maximum length in bytes permitted for an append blob. Leave as zero to use the default. [--maxsize-condition]
Variables
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.
ETag
Select the name of the build variable to set with the ETag of the uploaded blob.
Options
Log Level
The amount of information detail to display in the build log.
Timeout (in seconds)
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).
No Response Timeout (in seconds)
How many seconds to wait for the Azure commands to respond with output before timing out. Leave zero to wait until the main timeout.
Treat failure as warning
Tick to continue build on failure marking the action with a warning status.
Ignore warnings
If this is ticked, any warnings logged will not mark the action with a warning status.
Environment
Environment Variables
Multiple environment variables can be defined - one per line. These are set before the command line is run.
Log environment variables
If this is ticked, environment variable values are written to the build log.
Generate system environment variables
Tick this checkbox to set up a list of new environment variables prefixed with 'ContinuaCI.' for all current system expression objects and variables.
Mask sensitive variable values in system environment 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.