Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug Report] Get Properties Requests Don't Allow the Action Query Parameter #24009

Open
Bharat-Goyal opened this issue Jan 25, 2025 · 3 comments
Assignees
Labels
customer-reported Issues that are reported by GitHub users external to the Azure organization. Storage Storage Service (Queues, Blobs, Files)

Comments

@Bharat-Goyal
Copy link

Bharat-Goyal commented Jan 25, 2025

Bug Report

The current file/directory clients in the storage sdk have GetProperties implemented, but there's no way to pass through the action parameter of the query mentioned in the rest API: https://learn.microsoft.com/en-us/rest/api/storageservices/datalakestoragegen2/path/get-properties?view=rest-storageservices-datalakestoragegen2-2019-12-12

https://github.com/Azure/azure-sdk-for-go/blob/sdk/storage/azdatalake/v1.3.0/sdk/storage/azdatalake/directory/client.go#L277
If you look at the GetPropertiesOptions parameter, there's no way to pass through action, and there's no other parameter to get the query values for the request.

Reason:
I'm working with adding customer managed encryption keys to a bucket. To support the possibility of the encryption key being rotated, I need to have x-ms-encryption-context set on each directory/file that I create. However, in the event of a key rotation, I won't have a valid key value to pass through for the GetProperties request (the flow I'm trying to achieve is that to rotate the keys, I'll first fetch the x-ms-encryption-context value associated with the blob using GetProperties with action=getStatus, however the current SDK implementation doesn't support this).

@github-actions github-actions bot added customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Jan 25, 2025
@Bharat-Goyal Bharat-Goyal changed the title Get Properties Requests Don't Allow the Action Query Parameter [Bug Report] Get Properties Requests Don't Allow the Action Query Parameter Jan 25, 2025
@tanyasethi-msft tanyasethi-msft self-assigned this Jan 27, 2025
@jhendrixMSFT jhendrixMSFT added Storage Storage Service (Queues, Blobs, Files) and removed question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Jan 27, 2025
@github-actions github-actions bot removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Jan 27, 2025
@Bharat-Goyal
Copy link
Author

Following up, it seems like the current codebase always degrades the GetProperties requests to https://learn.microsoft.com/en-us/rest/api/storageservices/get-blob-properties?tabs=microsoft-entra-id which offers less functionality. This seems incorrect as the code that generates this is specifically within azdatalake and uses the file/directory clients. Can we at least have the option to make the Path API requests: https://learn.microsoft.com/en-us/rest/api/storageservices/datalakestoragegen2/path/get-properties?view=rest-storageservices-datalakestoragegen2-2019-12-12

@tanyasethi-msft
Copy link
Member

Hi @Bharat-Goyal , azdatalake sdk internally calls Blob endpoint APIs by design. Also, in the future, all azdatalake REST APIs will eventually converge into Blob APIs.

@Bharat-Goyal
Copy link
Author

In that case are you going to unify the functionality, i.e. is the eventual state a position where the action query parameter will be supported by the Blob GetProperties request? If not, this would become a major gap that is left behind by the SDK (for instance right now I have to manually create my GetProperties request for the dfs endpoint so that I can use the action parameter). It would be great to be able to continue to support all access modes that exist today, if there's some place where I can try to add more context on why this is desirable please feel free to let me know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customer-reported Issues that are reported by GitHub users external to the Azure organization. Storage Storage Service (Queues, Blobs, Files)
Projects
None yet
Development

No branches or pull requests

3 participants