Day 3 of 5
⏱ ~60 minutes
Azure in 5 Days — Day 3

Storage: Blobs and Azure SQL

Create storage accounts, upload files to Blob Storage, generate SAS tokens, and provision an Azure SQL database.

Azure Blob Storage

Create Storage Account
az storage account create \
  --name mystorageacc123 \
  --resource-group myapp-rg \
  --location eastus \
  --sku Standard_LRS

# Create a container
az storage container create \
  --name uploads \
  --account-name mystorageacc123 \
  --public-access blob
Upload Files
# Get connection string
az storage account show-connection-string \
  --name mystorageacc123 --resource-group myapp-rg

# Upload a file
az storage blob upload \
  --container-name uploads \
  --file ./photo.jpg \
  --name photo.jpg \
  --connection-string 'DefaultEndpointsProtocol=...'
SAS Token (Python SDK)
from azure.storage.blob import BlobServiceClient, generate_blob_sas, BlobSasPermissions
from datetime import datetime, timedelta

sas_token = generate_blob_sas(
    account_name='mystorageacc123',
    container_name='uploads',
    blob_name='photo.jpg',
    account_key='...',
    permission=BlobSasPermissions(read=True),
    expiry=datetime.utcnow() + timedelta(hours=1)
)
url = f'https://mystorageacc123.blob.core.windows.net/uploads/photo.jpg?{sas_token}'
Azure SQL Database
az sql server create \
  --name my-sql-server --resource-group myapp-rg \
  --location eastus --admin-user sqladmin --admin-password MyPass@123

az sql db create \
  --resource-group myapp-rg --server my-sql-server \
  --name myapp-db --service-objective Basic
📝 Day 3 Exercise
Work with Azure Storage
  1. C
  2. r
  3. e
  4. a
  5. t
  6. e
  7. a
  8. s
  9. t
  10. o
  11. r
  12. a
  13. g
  14. e
  15. a
  16. c
  17. c
  18. o
  19. u
  20. n
  21. t
  22. a
  23. n
  24. d
  25. c
  26. o
  27. n
  28. t
  29. a
  30. i
  31. n
  32. e
  33. r
  34. .
  35. U
  36. p
  37. l
  38. o
  39. a
  40. d
  41. 3
  42. f
  43. i
  44. l
  45. e
  46. s
  47. v
  48. i
  49. a
  50. C
  51. L
  52. I
  53. .
  54. G
  55. e
  56. n
  57. e
  58. r
  59. a
  60. t
  61. e
  62. a
  63. S
  64. A
  65. S
  66. t
  67. o
  68. k
  69. e
  70. n
  71. a
  72. n
  73. d
  74. v
  75. e
  76. r
  77. i
  78. f
  79. y
  80. i
  81. t
  82. g
  83. r
  84. a
  85. n
  86. t
  87. s
  88. t
  89. i
  90. m
  91. e
  92. -
  93. l
  94. i
  95. m
  96. i
  97. t
  98. e
  99. d
  100. a
  101. c
  102. c
  103. e
  104. s
  105. s
  106. .
  107. C
  108. r
  109. e
  110. a
  111. t
  112. e
  113. a
  114. n
  115. A
  116. z
  117. u
  118. r
  119. e
  120. S
  121. Q
  122. L
  123. d
  124. a
  125. t
  126. a
  127. b
  128. a
  129. s
  130. e
  131. a
  132. n
  133. d
  134. c
  135. o
  136. n
  137. n
  138. e
  139. c
  140. t
  141. t
  142. o
  143. i
  144. t
  145. .

Day 3 Summary

  • Azure Blob Storage = object storage for files. Three access tiers: Hot, Cool, Archive.
  • SAS tokens grant temporary, scoped access to storage resources without sharing keys.
  • Azure SQL is managed SQL Server. Basic tier is the cheapest for dev (~$5/month).
  • Always configure a firewall rule on Azure SQL to allow your IP: az sql server firewall-rule create.
Finished this lesson?