apache / apache/opendal

bug: presign_read not working with service principal credentials (azdls and azblob)

Open
#8,104 1 comment 1 reaction 0 assignees View on GitHub
bindings/python bug services/azblob services/azdls
Dominant language
Rust
Stars
5.4k
Forks
825
Avg merge
1d 14m
Merged PRs (30d)
127

Description

### OpenDAL version or commit

0.47.1 (Python)

### Affected service or component

services/adls

### Describe the bug

s3/minio with account name and account key - presign_read working fine
azblob with account_name and account_key - presign_read working fine.

But
azdls - dfs endpoint - account name and account key - not working - presign => operation is not supported
azdls - dfs endpoint - client id, client secret, tenant id - not working - presign => operation is not supported
azblob - blob endpoint - client id, client secret, tenant id - not working - Bearer token can't be used in query string

### Steps to Reproduce

from opendal import AsyncOperator

op = AsyncOperator(...cred...)

signed = await op.presign_read(file_path, seconds)

print(signed.url)

Try these with azdls or service principal credentials

### Actual Behavior

It is not returning pre signed URL for ADLS

### Expected Behavior

It should return pre signed URL for ADLS

### Additional Context

_No response_

### Reproduction confirmation

- [x] I reproduced this issue against the affected component. For a service-specific report, I used the actual service rather than only a mock, emulator, or source-code analysis.

### Are you willing to submit a PR to fix this bug?

- [ ] Yes, I would like to submit a PR.

Contributor guide

Open the contributing guide

Research direction

The affected component is services/adls; start by reading the ADLS presign_read handling and reproducing the operation with account-key and service-principal credentials. Done means ADLS returns a usable pre-signed URL for the reported endpoint and credential combinations, or clearly reports an unsupported case.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, python, rust
Domain
cloud
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.