Skip to content

Conversation

@soffer-anyscale
Copy link
Contributor

Description

Add support for Databricks UC Azure responses that return azure_user_delegation_sas, extracting the SAS token and storage account for Ray Data reads.

Improve the credential error message to list available keys, aiding troubleshooting when UC returns unexpected fields.

Related issues

Related to Azure Databricks Unity Catalog credential vending; no tracked GitHub issue provided.

Additional information

Uses Databricks UC credential vending docs for Azure: https://docs.databricks.com/en/data-governance/unity-catalog/credential-vending.html

No API changes; behavior now matches AWS/Azure parity for ray.data.read_unity_catalog.

Handle azure_user_delegation_sas responses from Databricks UC credential vending and surface keys in error messages for easier troubleshooting.

Signed-off-by: soffer-anyscale <stephen.offer@anyscale.com>
@soffer-anyscale soffer-anyscale requested a review from a team as a code owner December 11, 2025 19:25
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds support for Azure Unity Catalog user delegation SAS tokens, which is a valuable enhancement for Azure users. The implementation correctly extracts the SAS token and storage account information from the Databricks UC response. Additionally, the improvement to the credential error message is a great addition for debuggability. I have one minor suggestion to improve code consistency.

Raise when azure_user_delegation_sas lacks a token and set storage account env vars with direct assignment.

Signed-off-by: soffer-anyscale <stephen.offer@anyscale.com>
Comment on lines +89 to +92
azure.get("sas_token")
or azure.get("sas")
or azure.get("token")
or azure.get("sasToken")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this varying?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To support multiple versions of Azure UC, which apparently had changed the response key.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to add release test for this

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ray-gardener ray-gardener bot added the data Ray Data-related issues label Dec 12, 2025
Comment on lines +89 to +92
azure.get("sas_token")
or azure.get("sas")
or azure.get("token")
or azure.get("sasToken")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to add release test for this

Comment on lines +89 to +92
azure.get("sas_token")
or azure.get("sas")
or azure.get("token")
or azure.get("sasToken")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alexeykudinkin alexeykudinkin added the go add ONLY when ready to merge, run all tests label Dec 12, 2025
@alexeykudinkin alexeykudinkin enabled auto-merge (squash) December 12, 2025 06:15
@alexeykudinkin alexeykudinkin merged commit 55c73a8 into master Dec 12, 2025
7 of 8 checks passed
@alexeykudinkin alexeykudinkin deleted the data_uc_azure branch December 12, 2025 06:46
Yicheng-Lu-llll pushed a commit to Yicheng-Lu-llll/ray that referenced this pull request Dec 22, 2025
## Description
Add support for Databricks UC Azure responses that return
`azure_user_delegation_sas`, extracting the SAS token and storage
account for Ray Data reads.

Improve the credential error message to list available keys, aiding
troubleshooting when UC returns unexpected fields.

## Related issues
Related to Azure Databricks Unity Catalog credential vending; no tracked
GitHub issue provided.

## Additional information

Uses Databricks UC credential vending docs for Azure:
https://docs.databricks.com/en/data-governance/unity-catalog/credential-vending.html

No API changes; behavior now matches AWS/Azure parity for
`ray.data.read_unity_catalog`.

---------

Signed-off-by: soffer-anyscale <stephen.offer@anyscale.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data Ray Data-related issues go add ONLY when ready to merge, run all tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants