Skip to content

Conversation

@calvinhzy
Copy link
Member

@calvinhzy calvinhzy commented Dec 8, 2025

Update blob, filedatalake, fileshare, queue api versions to v2026-02-06 preview to support user delegated sas with OAuth
Now azure-multiapi-storage package has been completely dropped.
Related command

az storage blob/container/fs generate-sas: Add --user-delegation-oid
az storage fs file/directory generate-sas: New command az storage fs file generate-sas, add --user-delegation-oid
az storage share/file/queue generate-sas: Add --as-user and --user-delegation-oid

Description

Support specifying --user-delegation-oid with --auth-mode login and --as-user to generate a sas-token to be used with Oauth (--auth-mode login)

Testing Guide

History Notes

[Storage] az storage blob/container/fs generate-sas: Add --user-delegation-oid
[Storage] az storage fs file/directory generate-sas: New command az storage fs file generate-sas, add --user-delegation-oid
[Storage] az storage share/file/queue generate-sas: Add --as-user and --user-delegation-oid


This checklist is used to make sure that common guidelines for a pull request are followed.

…, update blob, filedatalake, fileshare, queue api versions to v2026-02-06 preview, (in the future can remove multiapi sdk)
@calvinhzy calvinhzy self-assigned this Dec 8, 2025
@azure-client-tools-bot-prd
Copy link

azure-client-tools-bot-prd bot commented Dec 8, 2025

️✔️AzureCLI-FullTest
️✔️acr
️✔️latest
️✔️3.12
️✔️3.13
️✔️acs
️✔️latest
️✔️3.12
️✔️3.13
️✔️advisor
️✔️latest
️✔️3.12
️✔️3.13
️✔️ams
️✔️latest
️✔️3.12
️✔️3.13
️✔️apim
️✔️latest
️✔️3.12
️✔️3.13
️✔️appconfig
️✔️latest
️✔️3.12
️✔️3.13
️✔️appservice
️✔️latest
️✔️3.12
️✔️3.13
️✔️aro
️✔️latest
️✔️3.12
️✔️3.13
️✔️backup
️✔️latest
️✔️3.12
️✔️3.13
️✔️batch
️✔️latest
️✔️3.12
️✔️3.13
️✔️batchai
️✔️latest
️✔️3.12
️✔️3.13
️✔️billing
️✔️latest
️✔️3.12
️✔️3.13
️✔️botservice
️✔️latest
️✔️3.12
️✔️3.13
️✔️cdn
️✔️latest
️✔️3.12
️✔️3.13
️✔️cloud
️✔️latest
️✔️3.12
️✔️3.13
️✔️cognitiveservices
️✔️latest
️✔️3.12
️✔️3.13
️✔️compute_recommender
️✔️latest
️✔️3.12
️✔️3.13
️✔️computefleet
️✔️latest
️✔️3.12
️✔️3.13
️✔️config
️✔️latest
️✔️3.12
️✔️3.13
️✔️configure
️✔️latest
️✔️3.12
️✔️3.13
️✔️consumption
️✔️latest
️✔️3.12
️✔️3.13
️✔️container
️✔️latest
️✔️3.12
️✔️3.13
️✔️containerapp
️✔️latest
️✔️3.12
️✔️3.13
️✔️core
️✔️latest
️✔️3.12
️✔️3.13
️✔️cosmosdb
️✔️latest
️✔️3.12
️✔️3.13
️✔️databoxedge
️✔️latest
️✔️3.12
️✔️3.13
️✔️dls
️✔️latest
️✔️3.12
️✔️3.13
️✔️dms
️✔️latest
️✔️3.12
️✔️3.13
️✔️eventgrid
️✔️latest
️✔️3.12
️✔️3.13
️✔️eventhubs
️✔️latest
️✔️3.12
️✔️3.13
️✔️feedback
️✔️latest
️✔️3.12
️✔️3.13
️✔️find
️✔️latest
️✔️3.12
️✔️3.13
️✔️hdinsight
️✔️latest
️✔️3.12
️✔️3.13
️✔️identity
️✔️latest
️✔️3.12
️✔️3.13
️✔️iot
️✔️latest
️✔️3.12
️✔️3.13
️✔️keyvault
️✔️latest
️✔️3.12
️✔️3.13
️✔️lab
️✔️latest
️✔️3.12
️✔️3.13
️✔️managedservices
️✔️latest
️✔️3.12
️✔️3.13
️✔️maps
️✔️latest
️✔️3.12
️✔️3.13
️✔️marketplaceordering
️✔️latest
️✔️3.12
️✔️3.13
️✔️monitor
️✔️latest
️✔️3.12
️✔️3.13
️✔️mysql
️✔️latest
️✔️3.12
️✔️3.13
️✔️netappfiles
️✔️latest
️✔️3.12
️✔️3.13
️✔️network
️✔️latest
️✔️3.12
️✔️3.13
️✔️policyinsights
️✔️latest
️✔️3.12
️✔️3.13
️✔️privatedns
️✔️latest
️✔️3.12
️✔️3.13
️✔️profile
️✔️latest
️✔️3.12
️✔️3.13
️✔️rdbms
️✔️latest
️✔️3.12
️✔️3.13
️✔️redis
️✔️latest
️✔️3.12
️✔️3.13
️✔️relay
️✔️latest
️✔️3.12
️✔️3.13
️✔️resource
️✔️latest
️✔️3.12
️✔️3.13
️✔️role
️✔️latest
️✔️3.12
️✔️3.13
️✔️search
️✔️latest
️✔️3.12
️✔️3.13
️✔️security
️✔️latest
️✔️3.12
️✔️3.13
️✔️servicebus
️✔️latest
️✔️3.12
️✔️3.13
️✔️serviceconnector
️✔️latest
️✔️3.12
️✔️3.13
️✔️servicefabric
️✔️latest
️✔️3.12
️✔️3.13
️✔️signalr
️✔️latest
️✔️3.12
️✔️3.13
️✔️sql
️✔️latest
️✔️3.12
️✔️3.13
️✔️sqlvm
️✔️latest
️✔️3.12
️✔️3.13
️✔️storage
️✔️latest
️✔️3.12
️✔️3.13
️✔️synapse
️✔️latest
️✔️3.12
️✔️3.13
️✔️telemetry
️✔️latest
️✔️3.12
️✔️3.13
️✔️util
️✔️latest
️✔️3.12
️✔️3.13
️✔️vm
️✔️latest
️✔️3.12
️✔️3.13

@azure-client-tools-bot-prd
Copy link

azure-client-tools-bot-prd bot commented Dec 8, 2025

⚠️AzureCLI-BreakingChangeTest
⚠️storage
rule cmd_name rule_message suggest_message
⚠️ 1006 - ParaAdd storage blob generate-sas cmd storage blob generate-sas added parameter user_delegation_oid
⚠️ 1006 - ParaAdd storage container generate-sas cmd storage container generate-sas added parameter user_delegation_oid
⚠️ 1006 - ParaAdd storage file generate-sas cmd storage file generate-sas added parameter as_user
⚠️ 1006 - ParaAdd storage file generate-sas cmd storage file generate-sas added parameter auth_mode
⚠️ 1006 - ParaAdd storage file generate-sas cmd storage file generate-sas added parameter enable_file_backup_request_intent
⚠️ 1006 - ParaAdd storage file generate-sas cmd storage file generate-sas added parameter user_delegation_oid
⚠️ 1006 - ParaAdd storage fs directory generate-sas cmd storage fs directory generate-sas added parameter user_delegation_oid
⚠️ 1001 - CmdAdd storage fs file generate-sas cmd storage fs file generate-sas added
⚠️ 1006 - ParaAdd storage fs generate-sas cmd storage fs generate-sas added parameter user_delegation_oid
⚠️ 1006 - ParaAdd storage queue generate-sas cmd storage queue generate-sas added parameter as_user
⚠️ 1006 - ParaAdd storage queue generate-sas cmd storage queue generate-sas added parameter auth_mode
⚠️ 1006 - ParaAdd storage queue generate-sas cmd storage queue generate-sas added parameter user_delegation_oid
⚠️ 1006 - ParaAdd storage share generate-sas cmd storage share generate-sas added parameter as_user
⚠️ 1006 - ParaAdd storage share generate-sas cmd storage share generate-sas added parameter auth_mode
⚠️ 1006 - ParaAdd storage share generate-sas cmd storage share generate-sas added parameter enable_file_backup_request_intent
⚠️ 1006 - ParaAdd storage share generate-sas cmd storage share generate-sas added parameter user_delegation_oid

@yonzhan
Copy link
Collaborator

yonzhan commented Dec 8, 2025

Thank you for your contribution! We will review the pull request and get back to you soon.

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR.

Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions).
After that please run the following commands to enable git hooks:

pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>

@calvinhzy calvinhzy changed the title [Storage] Bump multiapi to 1.7.0b1 for supporting user delegated sas with OAuth [Storage] Support user delegated sas with OAuth Jan 1, 2026
@calvinhzy calvinhzy changed the title [Storage] Support user delegated sas with OAuth [Storage] az storage blob/container/share/file/queue generate-sas: Support user delegated sas with OAuth Jan 3, 2026
@calvinhzy calvinhzy changed the title [Storage] az storage blob/container/share/file/queue generate-sas: Support user delegated sas with OAuth [Storage] az storage blob/container/fs/share/file/queue generate-sas: Support user delegated sas with OAuth Jan 4, 2026
@calvinhzy calvinhzy marked this pull request as ready for review January 4, 2026 02:47
Copilot AI review requested due to automatic review settings January 4, 2026 02:47
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates Azure Storage SDK versions to the v2026-02-06 preview API to support user-delegated SAS token generation with OAuth authentication. The major changes include:

  • Removing the deprecated azure-multiapi-storage package
  • Adding new beta versions of storage SDKs (blob, file-datalake, file-share, queue)
  • Adding --user-delegation-oid parameter to multiple generate-sas commands
  • Adding --as-user parameter for share/file/queue generate-sas commands

Reviewed changes

Copilot reviewed 57 out of 62 changed files in this pull request and generated no comments.

Show a summary per file
File Description
setup.py, requirements*.txt Removed azure-multiapi-storage, added beta storage SDK versions
operations/queue.py Added OAuth support with user delegation key for queue SAS generation
operations/fileshare.py Added OAuth support with user delegation key for share SAS generation
operations/filesystem.py Added user_delegation_oid parameter to filesystem SAS generation
operations/fs_directory.py Added user_delegation_oid parameter to directory SAS generation
operations/fs_file.py Added new generate_sas_file_uri function with OAuth support
_help.py Added help documentation for new storage fs file generate-sas command
test_*.py Removed api_version_constraint decorator, added new test cases
recordings/*.yaml Updated test recordings with new API version 2026-02-06

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@calvinhzy calvinhzy merged commit 382d47f into Azure:dev Jan 4, 2026
53 of 54 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Auto-Assign Auto assign by bot Storage az storage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants