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.

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.


  • No labels