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.3.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

blob_mounting_helper_utility-1.1.3-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for blob_mounting_helper_utility-1.1.3.tar.gz
Algorithm Hash digest
SHA256 d7677eeeaaa28da0a0245b35d98075a2572b262f0770d411c64a6dadd1666604
MD5 ebff365302ead4267e5d6a4c8c67e679
BLAKE2b-256 8d60b7319d53f57d41bfdabcd2a8c2256e519309953be335056871180b93b0f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blob_mounting_helper_utility-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8381fb5da76509bb2b49ea5ead248340f4542f10bb5f53c2c9ebc7aceb7d7e90
MD5 3defe43809026c2ab803a635e19d961d
BLAKE2b-256 560832c305271b21823bd9fe13da6d1f5c82380ab1c4b774340fd4be2f188164

See more details on using hashes here.

Supported by

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