Hello Swapnil Singh
Thank you for the response!
Please confirm How are you generating the SAS token? (Portal, CLI, PowerShell, SDK) What exact error message do you get with curl? (include the full response) Can you share the complete SAS URL structure? (with sensitive parts redacted like: https://account.blob.core.windows.net/container?sp=...&sig=REDACTED
) Are you using a standard storage account or premium/special configuration?
However, in the meantime Let's test your SAS token step by step:
List container contents
curl -X GET "https://<account>.blob.core.windows.nt/<container>?restype=container&comp=list&<your-sas-token>"
Upload a test blob
curl -X PUT "https://<account>.blob.core.windows.net/<container>/test.txt?<your-sas-token>" \
-H "x-ms-blob-type: BlockBlob" \
-H "Content-Type: text/plain" \
-d "test content"
Check for these common problems:
Clock Skew Issues Ensure your system time is accurate. Add buffer time
# Start time 15 minutes ago, expiry well in future
--start-time "2025-08-05T06:00:00Z" \
--expiry "2025-08-10T00:00:00Z"
Make sure you're using the correct storage account key:
# Get the correct key
az storage account keys list --account-name <account> --resource-group <rg>
Your SAS URL should look like this:
https://<account>.blob.core.windows.net/<container>?sp=racwdli&st=2025-08-05T06%3A00%3A00Z&se=2025-08-10T00%3A00%3A00Z&sv=2024-11-04&sr=c&sig=<signature>
Do let me know if you have any questions!