I’m trying to setup an Alibaba Cloud storage in HBS3 using the “Amazon S3” storage type. I found that HBS3 defaulted to use path style instead of virtual-hosted style and I cannot find any options to change it.
If my endpoint is “s3.example.com” and my bucket name is “my-bucket”, I expect “my-bucket.s3.example.com” to be accessed, but HBS3 just tried to access “s3.example.com/my-bucket”, which is not supported by Alibaba Cloud.
If using native S3 SDK, I’ll set something like “use path style = false” but how can I do that in HBS3?
As for the Alibaba Cloud storage type in HBS3, I found that I have to give it account-level permission before being able to create the storage space (because it tries to list bucket or something). I cannot use an account with only bucket-level access. Thus I don’t think I want to use it.
Hi,
Thanks for the report — your analysis is spot on, and we’d like to confirm what’s happening on our side:
-
The Alibaba Cloud storage type in HBS 3 already uses virtual-hosted style access, so addressing is not an issue there. However, as you found, creating a storage space currently calls ListBuckets, which requires account-level permission.
-
The Amazon S3 / S3 Compatible storage type supports “Use specific bucket” (so bucket-level credentials work), but it currently sends path-style requests only — which Alibaba Cloud OSS rejects.
So each option is blocked by a different limitation. We’ve discussed this and plan to improve both:
-
Add a “Use specific bucket” option to the Alibaba Cloud storage type, so it no longer requires ListBuckets and works with bucket-scoped credentials.
-
Add a path-style / virtual-hosted style option to the S3 Compatible storage type, so it can work with providers that only accept virtual-hosted requests.
Thank you for your help! Both improvements will be very helpful.
I think the Alibaba Cloud “use specific bucket only” feature will more directly solve my problem. But the virtual-hosted-style support is a more general feature to allow us better use a general S3-compatible provider.