docs: def put_blob(kwargs=None, storage_conn=None, call=None):
      '''
      .. versionadded:: 2015.8.0
  
      Upload a blob
  
      CLI Examples:
  
      .. code-block:: bash
  
          salt-cloud -f put_blob my-azure container=base name=top.sls blob_path=/srv/salt/top.sls
          salt-cloud -f put_blob my-azure container=base name=content.txt blob_content='Some content'
  
      container:
          Name of existing container.
      name:
          Name of existing blob.
      blob_path:
          The path on the local machine of the file to upload as a blob. Either
          this or blob_content must be specified.
      blob_content:
          The actual content to be uploaded as a blob. Either this or blob_path
          must me specified.
      cache_control:
          Optional. The Blob service stores this value but does not use or
          modify it.
      content_language:
          Optional. Specifies the natural languages used by this resource.
      content_md5:
          Optional. An MD5 hash of the blob content. This hash is used to
          verify the integrity of the blob during transport. When this header
          is specified, the storage service checks the hash that has arrived
          with the one that was sent. If the two hashes do not match, the
          operation will fail with error code 400 (Bad Request).
      blob_content_type:
          Optional. Set the blob's content type.
      blob_content_encoding:
          Optional. Set the blob's content encoding.
      blob_content_language:
          Optional. Set the blob's content language.
      blob_content_md5:
          Optional. Set the blob's MD5 hash.
      blob_cache_control:
          Optional. Sets the blob's cache control.
      meta_name_values:
          A dict containing name, value for metadata.
      lease_id:
          Required if the blob has an active lease.
      '''
      if call != 'function':
          raise SaltCloudSystemExit(
              'The put_blob function must be called with -f or --function.'
          )
  
      if kwargs is None:
          kwargs = {}
  
      if 'container' not in kwargs:
          raise SaltCloudSystemExit('The blob container name must be specified as "container"')
  
      if 'name' not in kwargs:
          raise SaltCloudSystemExit('The blob name must be specified as "name"')
  
      if 'blob_path' not in kwargs and 'blob_content' not in kwargs:
          raise SaltCloudSystemExit(
              'Either a path to a file needs to be passed in as "blob_path" or '
              'the contents of a blob as "blob_content."'
          )
  
      if not storage_conn:
          storage_conn = get_storage_conn(conn_kwargs=kwargs)
  
      return salt.utils.msazure.put_blob(storage_conn=storage_conn, **kwargs)