Repository navigation
java.lang.UnsupportedOperationException: blob access not supported by Azure #640
Copy link
Copy link
Closed
Description
hi, i've been trying to get boto3 working with s3proxy (forwarding to azure blob storage) running behind nginx and i've had no issues with getting the objects from storage but i've been stuck trying to get s3proxy to upload files to my container.
s3proxy configuration file:
s3proxy.authorization=none
s3proxy.identity=u1trav101
s3proxy.credential=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
s3proxy.endpoint=http://127.0.0.1:8080
jclouds.provider=azureblob
jclouds.identity=u1trav101cdn
jclouds.credential=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
jclouds.endpoint=https://u1trav101cdn.blob.core.windows.net
nginx configuration file:
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name cdn.u1trav101.net; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/u1trav101.net/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/u1trav101.net/privkey.pem; # managed by Certbot
ssl_trusted_certificate /etc/letsencrypt/live/u1trav101.net/chain.pem;
sendfile on;
default_type application/octet-stream;
keepalive_timeout 65;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
s3proxy trace logs:
[s3proxy] D 05-24 23:45:59.715 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:301 |::] request: Request(PUT http://127.0.0.1:8080/u1traspace/usercontent/img/rsz/100px/3.gif)@24dd006a
[s3proxy] T 05-24 23:45:59.717 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: X-Amz-Date: 20240524T234559Z
[s3proxy] T 05-24 23:45:59.717 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: x-amz-acl: public-read
[s3proxy] T 05-24 23:45:59.717 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: Connection: close
[s3proxy] T 05-24 23:45:59.717 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: User-Agent: Boto3/1.26.102 Python/3.12.3 Linux/6.8.9-300.fc40.x86_64 Botocore/1.29.165
[s3proxy] T 05-24 23:45:59.718 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: Host: 127.0.0.1:8080
[s3proxy] T 05-24 23:45:59.718 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: Accept-Encoding: identity
[s3proxy] T 05-24 23:45:59.718 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: Content-MD5: VAVufBub9kziH6MxBtUqxA==
[s3proxy] T 05-24 23:45:59.718 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: Authorization: AWS4-HMAC-SHA256 Credential=u1traspace/20240524/eu-north-1/s3/aws4_request, SignedHeaders=content-md5;content-type;host;x-amz-acl;x-amz-content-sha256;x-amz-date, Signature=169d559d45afdf7aea6c5abc71fd65e28f424a4ede1a70d84acfac10116d12f0
[s3proxy] T 05-24 23:45:59.719 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: amz-sdk-invocation-id: 7ab49724-a9c6-46fd-95ae-83689279bdea
[s3proxy] T 05-24 23:45:59.719 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: amz-sdk-request: attempt=1
[s3proxy] T 05-24 23:45:59.719 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: Content-Length: 8853
[s3proxy] T 05-24 23:45:59.719 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: X-Amz-Content-SHA256: UNSIGNED-PAYLOAD
[s3proxy] T 05-24 23:45:59.719 S3Proxy-Jetty-20 o.gaul.s3proxy.S3ProxyHandler:326 |::] header: Content-Type: image/gif
[s3proxy] D 05-24 23:45:59.720 S3Proxy-Jetty-20 o.g.s.S3ProxyHandlerJetty:136 |::] UnsupportedOperationException:
java.lang.UnsupportedOperationException: blob access not supported by Azure
boto3 error:
boto3.exceptions.S3UploadFailedError: Failed to upload /home/ciara/Code/u1traspace/web/routes/../../usercontent/img/raw/3.gif to u1traspace/usercontent/img/raw/3.gif: An error occurred (501) when calling the PutObject operation: Not Implemented
i've been frustrated for days trying to debug this to no avail so any help with this would be greatly appreciated
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
cmqui commentedon Jun 17, 2024
if anyone is reading this, i never found a solution so i abandoned s3proxy and migrated to aws instead :/
gaul commentedon Oct 7, 2024
This error message is saying that Azure does not support access control that the client is trying to set on the object. Instead it only supports container-level access control. Thus if you configure your client to not set access control then it should succeed.