def create_short_lived_container_sas(account_name, account_key, container): from datetime import datetime, timedelta from azure.storage.sharedaccesssignature import SharedAccessSignature from azure.storage.blob.models import BlobPermissions expiry = (datetime.utcnow() + timedelta(days=1)).strftime('%Y-%m-%dT%H:%M:%SZ') sas = SharedAccessSignature(account_name, account_key) return sas.generate_container(container, permission=BlobPermissions(read=True), expiry=expiry, protocol='https')
def sas(self, container, start, expiry, permissions): sas = SharedAccessSignature( self.account_name, self.account_key ) signed_query = sas.generate_container( container_name=container, permission=permissions, expiry=expiry.strftime(ISO8061_FORMAT), start=start.strftime(ISO8061_FORMAT) ) return 'https://{}.blob.core.windows.net/{}?{}'.format( self.account_name, container, signed_query )