Skip to main content

Blob mapping utility for easy translation between azure urls and local paths

Project description

Blob mapping utility

When your code needs to access many mapped blobs as a mounted folder, the utility to make translation between blob urls and filepaths easier was made. It can be configured using the configuration json file.

You can also use this utility to download and uploads the blobs to/from the local file system without having to worry about the filepaths.

Configuration file example:

{
  "blob_mounting_configurations": [
    {
      "storage_account_name": "examplestagingstrgacc",
      "storage_account_url": "https://examplestagingstrgacc.blob.core.windows.net/",
      "container_name": "example-container-raw",
      "mount_point": "/mnt/example-container-raw"
    }
  ]
}

How to use

from blob_mounting_helper_utility import BlobMappingUtility
json_config_file = "blob_mapping_config.json"

# read the file into a dictionary
with open(json_config_file) as json_file:
    config = json.load(json_file)["blob_mounting_configurations"]

# create the utility object
blob_mapping_utility = BlobMappingUtility(config)

filepath1 = "/mnt/example-container-raw/cool_picture.png
blob_url = blob_mapping_utility.get_url_from_mounted_filepath(filepath1) # -> https://examplestagingstrgacc.blob.core.windows.net/example-container-raw/cool_picture.png

filepath2 = get_mounted_filepath_from_url(blob_url) # -> /mnt/example-container-raw/cool_picture.png

Also, if you were to pass the azure storage account key you can download and upload the blob to a local file path:

from blob_mounting_helper_utility import BlobMappingUtility
json_config_file = "blob_mapping_config.json"

# read the file into a dictionary
with open(json_config_file) as json_file:
    config = json.load(json_file)["blob_mounting_configurations"]

azure_storage_account_key = "example_key"
# create the utility object
blob_mapping_utility = BlobMappingUtility(config, azure_storage_account_key)
url = "https://examplestagingstrgacc.blob.core.windows.net/example-container-raw/cool_picture.png"
blob_mapping_utility.download_blob(url) # -> Downloads the blob to the local file path "/mnt/example-container-raw/cool_picture.png"
local_filepath = "/mnt/example-container-raw/cool_picture.png"
do_something_to_file(local_filepath)
blob_mapping_utility.upload_blob(local_filepath) # -> Uploads the file to the blob url
blob_mapping_utility.cleanup_files() # cleans both downloaded and uploaded files from the local file system

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blob_mounting_helper_utility-1.1.2.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file blob_mounting_helper_utility-1.1.2.tar.gz.

File metadata

File hashes

Hashes for blob_mounting_helper_utility-1.1.2.tar.gz
Algorithm Hash digest
SHA256 48ea2db1c849c214ca01ef0d8d9e6e86734a2df3bd1ddfdd9bdf1f0e2b3aae6b
MD5 e50cc8d97b0ff3b2d6068a78f11cab37
BLAKE2b-256 d026e495442a68537a43a33df12a7edb7c8f349d3085b887ff0130f85b2f8840

See more details on using hashes here.

File details

Details for the file blob_mounting_helper_utility-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for blob_mounting_helper_utility-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 52a5963c3f775a8327df47ed55a54a02f3028ea1de1ee6c9928957da405f966e
MD5 d553e38b16b11629d0b2d3d40f26d7e7
BLAKE2b-256 292b27e8fa6559df2e90e8db2f7f3c5dac3905a06dc87c14d67022bd84944f10

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page