ARTIFACTORY: How to configure Azure Blob V2 Storage with Artifactory using Direct and Eventual Upload method

AuthorFullName__c
Bassel Mbariky
articleNumber
000005719
FirstPublishedDate
2023-05-11T09:20:09Z
lastModifiedDate
2025-07-20

ARTIFACTORY: How to configure Azure Blob V2 Storage with Artifactory using Direct and Eventual Upload method

Azure Blob Storage is a cloud-based storage that can be used with Artifactory to store your binaries. We have two main providers with different mechanisms, Direct Upload Mechanism and Eventual Upload Mechanism.

Please Note:

  1. To configure Azure with blob storage Version 1 please refer to this KB
  2. Blob storage v2 is supported on Artifactory version 7.49 and higher
  3. Upgrading a general-purpose v1 or Blob storage account to general-purpose v2 is permanent and cannot be undone
Direct Upload Mechanism (Recommended):
  • Client uploads artifacts to Artifactory
  • Artifactory receives and simultaneously uploads it to Azure cloud storage
  • After Artifactory finishes uploading to Azure cloud, returns 201 success to the client
  • Database entry for artifact is created
Eventual Upload Mechanism:
  • The node which received the upload request will stream the file to the eventual “_pre” folder.
  • Once the node has fully received the file, it will move the file from “_pre” to “_queue”, and only then close the upload request.
  • Once the file is in the “_queue” folder, it is available for download to all other HA members.
  • The node checks every 1 second (by default, configurable) if there are any new files to be handled in the “eventual” folder, and uploads them to Blob Storage.


To configure Azure Blob Storage  V2 with Artifactory:
1. Create an Azure account
2. Go to Storage Account and create an Azure Blob Storage Container

User-added image
3. The name and key of the Storage Account can be found in the Access Keys section.

User-added image

4. Stop the Artifactory Instance
5. Go to binarystore.xml path and edit the file
 

For applying the Direct Upload V2 mechanism 
<config version="3">
    <chain template="azure-blob-storage-v2-direct"/>
    <provider type="cache-fs" id="cache-fs">
        <maxCacheSize>10000000000</maxCacheSize>
        <cacheProviderDir>/var/opt/jfrog/artifactory/data/cache</cacheProviderDir>
    </provider>
        <provider id="azure-blob-storage-v2" type="azure-blob-storage-v2">
        <endpoint>https://test.blob.core.windows.net/</endpoint>;
        <multipartElementSize>100000000</multipartElementSize>
        <binariesDir>data/filestore</binariesDir>
        <accountName>the account name</accountName>
        <container>containername</container>
        <tempDir>temp</tempDir>
        <accountKey>accountkey</accountKey>
        <multiPartLimit>256000000</multiPartLimit>
    </provider>
</config>
For using the Eventual Upload mechanism v2
<config version="1">
    <chain template="azure-blob-storage-v2"/>
    <provider id="azure-blob-storage-v2" type="azure-blob-storage-v2">
        <accountName>XXXXXXXX</accountName>
        <accountKey>XXXXXXXX</accountKey>
        <endpoint>https://<ACCOUNT_NAME>.blob.core.windows.net/</endpoint>
        <container><NAME></container>
    </provider>
</config>


6. Restart the Artifactory Instance.

Learn more about Azure Blob Storage with Artifactory in the linked document.