Azure FileShare: указанный ресурс не существует - аутентификация SAS
Я пытаюсь перечислить файлы в Azure FileShare, используя SAS в Java / Scala.
У меня нет доступа к учетной записи хранения, но есть только ключ SAS для определенного общего ресурса в хранилище файлов Azure. Как получить прямой доступ к Share в Java?
Я могу перечислять каталоги и файлы в общем ресурсе с помощью Storage Explorer, загружать с помощью AZCopy или Rest Call с помощью URL общего ресурса с ключом SAS.
Практически все остальные пользователи с подобной ошибкой пытались пройти аутентификацию с использованием ключей учетной записи хранения и BlobStorage. Кажется, они имеют доступ на один уровень выше общего ресурса, то есть к учетной записи хранения. Но мне нужно напрямую подключиться к FileShare, используя SAS, который работает только для этой папки.
val storageConnectionString =
s"FileEndpoint=$endpoint;" + // https://xyz.file.core.windows.net
"SharedAccessSignature=" +
URLEncoder.encode(sas)
val storageAccount = CloudStorageAccount.parse(storageConnectionString)
val fileClient = storageAccount.createCloudFileClient()
val share = fileClient.getShareReference(fshare) //A fileshare with access
val rootDir = share.getRootDirectoryReference()
val files = rootDir.listFilesAndDirectories()
files.forEach(file => println(file.getUri)) //Error: com.microsoft.azure.storage.StorageException: The specified resource does not exist.
Файлы в общем ресурсе отображаются в пользовательском интерфейсе Storage Explorer с использованием того же URI(FileShareEndpoint+"/"+fshare+"?"+ Sas).
Ожидается получение списка файлов и каталогов, но получение исключения: "Указанный ресурс не существует". Это код или невозможно через программу подключиться к общему ресурсу без предварительной аутентификации в учетной записи хранения?