
我正在嘗試弄清楚 Azure CLI 的登入工作原理。我已經登入:
az login
一切似乎都工作正常,但是當我嘗試運行任何其他命令時,例如:
az storage blob list --container-name my_container
它報告:
缺少存取儲存服務的憑證。
我對 Azure 的憑證和登入如何運作感到非常困惑。由於存取權杖已透過登入授予,是否所有其他命令都應該在不需要進一步身份驗證的情況下運作?如果沒有的話,登入有什麼意義呢?
答案1
您的az storage blob list --container-name my_container
cmdlet 不完整,當您在 Azure shell 中執行該命令時,它會拋出以下錯誤訊息。我知道缺少憑證訊息可能會造成混亂,因為這不一定是必需的,但如果您查看清單中的數字 3,您會發現您需要為給定容器提供儲存帳戶名稱。
缺少存取儲存服務的憑證。接受以下變體:
- 帳號名稱和金鑰(--account-name 和 --account-key 選項或設定 AZURE_STORAGE_ACCOUNT 和 AZURE_STORAGE_KEY 環境變數)
- 帳號名稱和 SAS 令牌(--sas-token 選項與 --account-name 選項或 AZURE_STORAGE_ACCOUNT 環境變數一起使用)
- 帳戶名稱(--account-name 選項或 AZURE_STORAGE_ACCOUNT 環境變數;這將呼叫使用登入憑證查詢儲存帳戶金鑰)
- 連接字串(--connection-string 選項或設定 AZURE_STORAGE_CONNECTION_STRING 環境變數);有些 shell 需要引用來保留字面字元解釋。
使用適當的容器名稱和儲存帳戶名稱嘗試以下操作:
az storage blob list --container-name CONTAINER_NAME --account-name STORAGE_ACCOUNT_NAME