code: public URI uploadFile(final String jobFolder, final File file) throws IOException {
  
      LOG.log(Level.INFO, "Uploading [{0}] to [{1}]", new Object[]{file, jobFolder});
  
      try {
        final CloudBlobClient cloudBlobClient = this.cloudBlobClientProvider.getCloudBlobClient();
        final CloudBlobContainer container = cloudBlobClient.getContainerReference(this.azureStorageContainerName);
  
        final String destination = String.format("%s/%s", jobFolder, file.getName());
        final CloudBlockBlob blob = container.getBlockBlobReference(destination);
  
        try (FileInputStream fis = new FileInputStream(file)) {
          blob.upload(fis, file.length());
        }
  
        LOG.log(Level.FINE, "Uploaded to: {0}", blob.getStorageUri().getPrimaryUri());
        return this.cloudBlobClientProvider.generateSharedAccessSignature(blob, getSharedAccessBlobPolicy());
  
      } catch (final URISyntaxException | StorageException e) {
        throw new IOException(e);
      }
    }
docs: Upload a file to the storage account.
  
  @param jobFolder the path to the destination folder within storage container.
  @param file the source file.
  @return the SAS URI to the uploaded file.
  @throws IOException