Azure Blob Storage

Azure Blob Storage #

The following documentation outlines how to setup Azure Blob Storage for use with ~.Dimensions.~.

Required Information

The following information from you Azure blob store are required when adding as a storage configuration:

  • Azure Storage Account Name
  • Container
  • Azure Storage Access Key

Alongside the information above, a Storage Name needs to be provided. This is how the storage will be referenced within ~.Dimensions.~.

Once this information has been entered into a ~.Dimensions.~ storage configuration and saved, the storage configuration will become available to select for new and existing customers.

Lifecycle Policies

If retention profiles are being enabled for the storage configuration, corresponding lifecycle policies need to be created with in the Azure Blob Storage configuration. The lifecycle policies need to be created with the prefixes listed below and the corresponding number of days.

Retention Days GUID
90 730b75fb-4670-4f87-9400-8d9b7aeb56b5
180 fe85cc96-f49b-442c-b1d4-e86e7ad0170b
365 b2ad452e-7fd1-43a7-a209-4ec763cd39c5
1095 975deb79-c5e2-4623-af81-61bd644d3cd3
1825 615ac28a-93df-4d4c-930c-64d1b63acfb2
2555 4f62c5b2-5cf3-4bb5-b068-0db697a43cee

The section below shows an example of the lifecycle policy configuration within Azure:

{
  "rules": [
    {
      "enabled": true,
      "name": "default_retention",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ]
        }
      }
    },
    {
      "enabled": true,
      "name": "90day_retention",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            },
            "delete": {
              "daysAfterModificationGreaterThan": 90
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "recordings/730b75fb-4670-4f87-9400-8d9b7aeb56b5"
          ]
        }
      }
    },
    {
      "enabled": true,
      "name": "180day_retention",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            },
            "delete": {
              "daysAfterModificationGreaterThan": 180
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "recordings/fe85cc96-f49b-442c-b1d4-e86e7ad0170b"
          ]
        }
      }
    },
    {
      "enabled": true,
      "name": "365day_retention",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            },
            "delete": {
              "daysAfterModificationGreaterThan": 365
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "recordings/b2ad452e-7fd1-43a7-a209-4ec763cd39c5"
          ]
        }
      }
    },
    {
      "enabled": true,
      "name": "1095day_retention",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            },
            "delete": {
              "daysAfterModificationGreaterThan": 1095
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "recordings/975deb79-c5e2-4623-af81-61bd644d3cd3"
          ]
        }
      }
    },
    {
      "enabled": true,
      "name": "1825day_retention",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            },
            "delete": {
              "daysAfterModificationGreaterThan": 1825
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "recordings/615ac28a-93df-4d4c-930c-64d1b63acfb2"
          ]
        }
      }
    },
    {
      "enabled": true,
      "name": "2555day_retention",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            },
            "delete": {
              "daysAfterModificationGreaterThan": 2555
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "recordings/4f62c5b2-5cf3-4bb5-b068-0db697a43cee"
          ]
        }
      }
    }
  ]
}

Information Circle info

Ensure that lifecycle rules are created for All retention profiles with the prefix matching the predefined Ids in ~.Dimensions.~.