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。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱 如何在 Docker 容器中執行 Azure CLI。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱 使用 Azure CLI 向 Azure 進行驗證。
出現提示時,請在第一次使用時安裝 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 角色的詳細資訊,請參閱 指派 Azure 角色以存取 Blob 資料。
請記得以您自己的值取代角括號中的預留位置值:
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
當檔案開啟時,按 插入鍵。 鍵入 Hello world,然後按 Esc。接下來,鍵入 :x,然後按 Enter。
在此範例中,您會使用 az storage blob upload 命令將 Blob 上傳至您在最後一個步驟中建立的容器。 不需要指定檔案路徑,因為檔案是在根目錄建立的。 請記得以您自己的值取代角括號中的預留位置值:
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 檔案儲存體。 如需 AzCopy v10 (最新版 AzCopy) 的詳細資訊,請參閱 開始使用 AzCopy。 若要瞭解如何搭配 Blob 儲存體使用 AzCopy v10,請參閱 使用 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 儲存體,請選取下列選項。