Skip to main content

IoT Storage Client Library for Python

Project description

iot-storage-client

python version pre-commit Keep a Changelog CI_CD GitHub_Actions package PyPI azure-storage-blob

This package is a wrapper around the azure-storage-blob SDK to provide an asynchronous and synchronous client for interacting with Azure storage accounts in the cloud and on the edge.

Official Documentation (async version) | Source code | Package PyPI

Table of Contents

Versioning

This repository adheres to Semantic Versioning. It will be maintained through the CHANGELOG.md and in GitHub Releases. It's important to note that you must maintain the version with your releases in iot/storage/client/_version.py, otherwise a new package version will fail to get published.

Getting Started

This section provides basic examples with the iot-storage-client.

Prerequisites

  • Python 3.7 or later is required to use this package.

  • You must have an Azure subscription and Azure storage account to use this package.

Basic Examples

  1. Install via pip:

    pip install iot-storage-client
    
  2. Import and say hello:

    from iot.storage.client import __version__
    
    
    print(f"hello world from iot-storage-client version: {__version__}")
    
  3. Basic usage:

    import tempfile
    
    from iot.storage.client import CredentialType, LocationType, IoTStorageClient
    
    # instantiate client
    storage_client = IoTStorageClient(
        credential_type=CredentialType.ACCOUNT_KEY,
        location_type=LocationType.CLOUD_BASED,
        account_name="myAzBlobStorageAcctName",
        credential="myBlobPrimaryKey***"
    )
    
    # print info w/ repr
    print(f"{storage_client.__repr__()}")
    
    # download blob to tempfile
    temp_file = tempfile.NamedTemporaryFile()
    download_result = storage_client.download_file(
        container_name="myAzBlobContainerName",
        source="path/to/blob.txt",
        dest=temp_file.name,
    )
    if not download_result:
        print("unable to download file")
        temp_file.close()
        raise
    
    # upload tempfile to blob
    upload_result = storage_client.upload_file(
        container_name="myAzBlobContainerName",
        source=temp_file.name,
        dest="path/to/new/blob.txt",
    )
    if not upload_result:
        print("unable to upload file")
        temp_file.close()
        raise
    
    # clean-up local memory
    temp_file.close()
    
  4. Basic async usage:

    import tempfile
    
    from iot.storage.client import CredentialType, LocationType, IoTStorageClientAsync
    
    # instantiate client
    storage_client = IoTStorageClientAsync(
        credential_type=CredentialType.ACCOUNT_KEY,
        location_type=LocationType.CLOUD_BASED,
        account_name="myAzBlobStorageAcctName",
        credential="myBlobPrimaryKey***"
    )
    
    # print info w/ repr
    print(f"{storage_client.__repr__()}")
    
    # download blob to tempfile
    temp_file = tempfile.NamedTemporaryFile()
    download_result = await storage_client.download_file(
        container_name="myAzBlobContainerName",
        source="path/to/blob.txt",
        dest=temp_file.name,
    )
    if not download_result:
        print("unable to download file")
        temp_file.close()
        raise
    
    # upload tempfile to blob
    upload_result = await storage_client.upload_file(
        container_name="myAzBlobContainerName",
        source=temp_file.name,
        dest="path/to/new/blob.txt",
    )
    if not upload_result:
        print("unable to upload file")
        temp_file.close()
        raise
    
    # clean-up local memory
    temp_file.close()
    

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

iot-storage-client-1.2.2.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iot_storage_client-1.2.2-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file iot-storage-client-1.2.2.tar.gz.

File metadata

  • Download URL: iot-storage-client-1.2.2.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.16

File hashes

Hashes for iot-storage-client-1.2.2.tar.gz
Algorithm Hash digest
SHA256 205431ed1ad334ef2e5c0b8c88dd2225a007728cc751f38dc8d3d280cfe639bd
MD5 52ba960a8dcba32dcf0da5acf0be833e
BLAKE2b-256 de3dd0434dd99a99ea8e599233ca204fa57389b4a0727c322a2fc9bbfa770426

See more details on using hashes here.

File details

Details for the file iot_storage_client-1.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for iot_storage_client-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3c869bdbd8ca7823ae104215d12b01bfe80c4adc0ea827487a88187748f931d3
MD5 d42b411b3754f04d74e16f50ddbfd230
BLAKE2b-256 2995072b21a35de7fdde7d092b479ad86d94c7dcf2edb3ad492819b3da0ec86e

See more details on using hashes here.

Supported by

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