Hello Sumarigo.
I have to renew our development using Hadop+Azure Blob Storage.
The issue was described in:
I created a refine simple code
conf.set("fs.defaultFS","wasbs://******@sshblobhierarchyoff.blob.core.windows.net");
conf.set("fs.azure.ssl.channel.mode","Default_JSSE");
conf.set("fs.azure.account.oauth.provider.type","org.apache.hadoop.fs.azurebfs.oauth2.MsiTokenProvider");
conf.set("fs.azure.account.auth.type","OAuth");
conf.set("fs.azure.account.oauth2.msi.tenant","435f6b6d-8ec9-44e7-a0eb-86178d0c18eb");
conf.set("fs.azure.account.oauth2.client.id","0a2e18d3-56f4-4253-8730-e3c7dff5664a");
FileSystem fs = org.apache.hadoop.fs.FileSystem.get(conf);
but I still have got:
org.apache.hadoop.fs.azure.AzureException: org.apache.hadoop.fs.azure.AzureException: No credentials found for account sshblobhierarchyoff.blob.core.windows.net in the configuration, and its container sshcont01 is not accessible using anonymous credentials. Please check if the container exists first. If it is not publicly available, you have to provide account credentials.
Error [18:01:18] at org.apache.hadoop.fs.azure.AzureNativeFileSystemStore.createAzureStorageSession(AzureNativeFileSystemStore.java:1098)
Error [18:01:18] at org.apache.hadoop.fs.azure.AzureNativeFileSystemStore.initialize(AzureNativeFileSystemStore.java:547)
Error [18:01:18] at org.apache.hadoop.fs.azure.NativeAzureFilSystem.initialize(NativeAzureFileSystem.java:1379)
Error [18:01:18] at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3469)
Error [18:01:18] at org.apache.hadoop.fs.FileSystem.access$300(FileSystem.java:174)
Error [18:01:18] at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3574)
Error [18:01:18] at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3521)
Error [18:01:18] at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:540)
Error [18:01:18] at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:288)
But if I set "access level: container" for this container it passes well. We suppose the MSI should provide access to the container without making it public.
Could you clarify this?
Thanks
Sergiy