快速入門:使用 Azure CLI 建立、下載及列出 Blob
Azure CLI 是管理 Azure 資源的 Azure 命令列體驗。 您可以在瀏覽器中使用它搭配 Azure Cloud Shell。 您也可以將它安裝在 macOS、Linux 或 Windows 上,並從命令列執行。 在本快速入門中,您會了解如何使用 Azure CLI 從 Azure Blob 儲存體上傳和下載資料。
必要條件
若要存取 Azure 儲存體,您需要有 Azure 訂用帳戶。 如果您還沒有訂用帳戶,請先建立免費帳戶,再開始操作。
對 Azure 儲存體的所有存取都是透過儲存體帳戶進行。 在本快速入門中,使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 建立儲存體帳戶。 如需建立儲存體帳戶的協助,請參閱建立儲存體帳戶。
備妥環境以使用 Azure CLI
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
- 本文需要 2.0.46 版或更新版本的 Azure CLI。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。
授與 Blob 儲存體的存取權
您可以使用 Microsoft Entra 認證或使用儲存體帳戶存取金鑰,授權從 Azure CLI 存取 Blob 儲存體。 建議使用 Microsoft Entra 認證。 本文說明如何使用 Microsoft Entra ID 來授權 Blob 儲存體作業。
針對 Blob 儲存體的資料作業 Azure CLI 命令可支援 --auth-mode
參數,這可讓您指定如何授權指定的作業。 將 --auth-mode
參數設定為 login
,以使用 Microsoft Entra 認證進行授權。 如需詳細資訊,請參閱使用 Azure CLI 授與 Blob 或佇列資料的存取權。
只有 Blob 儲存體資料作業可支援 --auth-mode
參數。 管理作業 (例如建立資源群組或儲存體帳戶) 會自動使用 Microsoft Entra 認證來進行授權。
若要開始,請使用 az login 登入您的 Azure 帳戶。
az login
建立資源群組
使用 az group create 命令來建立 Azure 資源群組。 資源群組是在其中部署與管理 Azure 資源的邏輯容器。
請記得以您自己的值取代角括號中的預留位置值:
az group create \
--name <resource-group> \
--location <location>
建立儲存體帳戶
使用 az storage account create 命令建立一般用途的儲存體帳戶。 一般用途的儲存體帳戶可以用於所有四個服務:Blob、檔案、資料表和佇列。
請記得以您自己的值取代角括號中的預留位置值:
az storage account create \
--name <storage-account> \
--resource-group <resource-group> \
--location <location> \
--sku Standard_ZRS \
--encryption-services blob
建立容器
Blob 一律會上傳至容器中。 您可以在容器中組織 Blob 群組,方式如同在電腦的資料夾中組織檔案。 使用 az storage container create 命令,建立用於儲存 Blob 的容器。
下列範例會使用 Microsoft Entra 帳戶來授權作業,以便建立容器。 建立容器之前,請將 儲存體 Blob 資料參與者 角色指派給自己。 即使您是帳戶擁有者,您還是需要明確的權限,才能對儲存體帳戶執行資料作業。 如需有關指派 Azure 角色的詳細資訊,請參閱指派存取 Blob 資料的 Azure 角色。
請記得以您自己的值取代角括號中的預留位置值:
az ad signed-in-user show --query id -o tsv | az role assignment create \
--role "Storage Blob Data Contributor" \
--assignee @- \
--scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>"
az storage container create \
--account-name <storage-account> \
--name <container> \
--auth-mode login
重要
Azure 角色指派可能需要數分鐘的時間傳播。
您也可以使用儲存體帳戶金鑰來授權作業以建立容器。 如需有關藉由 Azure CLI 授權資料作業的詳細資訊,請參閱 藉由 Azure CLI 來授權 Blob 或佇列資料的存取權。
上傳 Blob
Blob 儲存體支援區塊 Blob、附加 Blob 和分頁 Blob。 本快速入門中的範例示範如何使用區塊 Blob。
首先,建立一個要上傳至區塊 Blob 的檔案。 如果您使用的是 Azure Cloud Shell,請使用下列命令建立檔案:
vi helloworld
當檔案開啟時,請按 insert。 輸入 Hello world,然後按 Esc。接著,輸入 :x,然後按 Enter。
在此範例中,您要將 Blob 上傳到使用 az storage blob upload 命令最後一個步驟所建立的容器。 您不需要指定檔案路徑,因為檔案是在根目錄建立的。 請記得以您自己的值取代角括號中的預留位置值:
az storage blob upload \
--account-name <storage-account> \
--container-name <container> \
--name myFile.txt \
--file myFile.txt \
--auth-mode login
如果 Blob 不存在,此作業會建立 Blob,若已存在,則會加以覆寫。 請上傳您所需的檔案數量,再繼續進行。
當您使用 Azure CLI 上傳 Blob 時,其會透過 http 和 https 通訊協定發出個別的 REST API 呼叫。
若要同時上傳多個檔案,您可以使用 az storage blob upload-batch 命令。
列出容器中的 Blob
使用 az storage blob list 命令列出容器中的 Blob。 請記得以您自己的值取代角括號中的預留位置值:
az storage blob list \
--account-name <storage-account> \
--container-name <container> \
--output table \
--auth-mode login
下載 Blob
使用 az storage blob download 命令下載稍早所上傳的 Blob。 請記得以您自己的值取代角括號中的預留位置值:
az storage blob download \
--account-name <storage-account> \
--container-name <container> \
--name myFile.txt \
--file <~/destination/path/for/file> \
--auth-mode login
使用 AzCopy 進行資料轉送
AzCopy 命令列公用程式可為 Azure 儲存體提供高效能、可編寫指令碼的資料傳輸。 您可以使用 AzCopy 將資料傳輸到 Blob 儲存體和 Azure 檔案儲存體,以及從 Blob 儲存體和 Azure 檔案儲存體傳出資料。 如需 AzCopy v10 (AzCopy 的最新版本) 的詳細資訊,請參閱開始使用 AzCopy。 若要了解如何搭配使用 AzCopy v10 與 Blob 儲存體,請參閱使用 AzCopy 和 Blob 儲存體傳輸資料。
下列範例會使用 AzCopy 將本機檔案上傳至 Blob。 請記得要以您自己的值取代範例值:
azcopy login
azcopy copy 'C:\myDirectory\myFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myFile.txt'
清除資源
如果您想要刪除您在本快速入門中建立的資源 (括儲存體帳戶),請使用 az group delete 命令刪除資源群組。 請記得以您自己的值取代角括號中的預留位置值:
az group delete \
--name <resource-group> \
--no-wait
下一步
在本快速入門中,您已經了解如何在本機檔案系統和 Azure Blob 儲存體中的容器之間傳輸檔案。 若要深入了解如何利用 Azure CLI 來使用 Blob 儲存體,請選取下方的選項。