docs: def _prepare_upload(self, ase):
          # type: (Uploader, blobxfer.models.azure.StorageEntity) -> None
          """Prepare upload
          :param Uploader self: this
          :param blobxfer.models.azure.StorageEntity ase: Storage entity
          """
          if ase.mode == blobxfer.models.azure.StorageModes.Append:
              if ase.append_create:
                  # create container if necessary
                  blobxfer.operations.azure.blob.create_container(
                      ase, self._containers_created)
                  # create remote blob
                  blobxfer.operations.azure.blob.append.create_blob(ase)
          elif ase.mode == blobxfer.models.azure.StorageModes.Block:
              # create container if necessary
              blobxfer.operations.azure.blob.create_container(
                  ase, self._containers_created)
          elif ase.mode == blobxfer.models.azure.StorageModes.File:
              # create share directory structure
              with self._fileshare_dir_lock:
                  # create container if necessary
                  blobxfer.operations.azure.file.create_share(
                      ase, self._containers_created)
                  # create parent directories
                  blobxfer.operations.azure.file.create_all_parent_directories(
                      ase, self._dirs_created)
              # create remote file
              blobxfer.operations.azure.file.create_file(ase)
          elif ase.mode == blobxfer.models.azure.StorageModes.Page:
              # create container if necessary
              blobxfer.operations.azure.blob.create_container(
                  ase, self._containers_created)
              # create remote blob
              blobxfer.operations.azure.blob.page.create_blob(ase)