Liking cljdoc? Tell your friends :D

Azure Blobs

You can use Azure’s Blob Storage as XTDB’s 'document store'.

Documents are serialized via Nippy.

Project Dependency

In order to use Blob Storage within XTDB, you must first add this module as a project dependency:

deps.edn
com.xtdb/xtdb-azure-blobs {:mvn/version "{xtdb_version}"}
pom.xml
<dependency>
    <groupId>com.xtdb</groupId>
    <artifactId>xtdb-azure-blobs</artifactId>
    <version>{xtdb_version}</version>
</dependency>

Using Azure Blobs

Replace the implementation of the document store with xtdb.azure.blobs/->document-store

JSON
{
  "xtdb/document-store": {
    "xtdb/module": "xtdb.azure.blobs/->document-store",
    "sas-token": "your-sas-token",
    "storage-account": "your-storage-account",
    "container": "your-container-name"
  },
}
Clojure
{:xtdb/document-store {:xtdb/module 'xtdb.azure.blobs/->document-store
                       :sas-token "your-sas-token"
                       :storage-account "your-storage-account"
                       :container "your-container-name"}}
EDN
{:xtdb/document-store {:xtdb/module xtdb.azure.blobs/->document-store
                       :sas-token "your-sas-token"
                       :storage-account "your-storage-account"
                       :container "your-container-name"}}

You’ll need to create a Storage Account, then a Container for storing the documents.

Then you need to create a SAS token for the Storage Account via the Azure portal.

  • Under Storage Account, go to Settings.

  • Then click Shared access signature.

  • Create a new SAS token with Allowed services: Blob, Allowed resources types: Container and Object. You can select all allowed permissions.

  • Select needed Start and expiry date/time, Allowed IP addresses if applicable and HTTPS only. Leave the rest of the options as-is.

Parameters

  • sas-token (string, required): 'shared access signature' for your chosen container.

  • storage-account (string, required)

  • container (string, required)

  • cache-size (int): size of in-memory document cache (number of entries, not bytes)

Can you improve this documentation? These fine people already did:
Jeremy Taylor & Steven Deobald
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close