簡體   English   中英

Azure 使用 BlobServiceClient 進行 cli 身份驗證

[英]Azure cli authentication with BlobServiceClient

是否可以對 Azure 存儲使用 cli 身份驗證?

cli_auth = AzureCliAuthentication()
blob_service_client = BlobServiceClient(account_url="https://mystorage.blob.core.windows.net", credential=cli_auth)
container_client = blob_service_client.get_container_client("mycontainer")

blobs=container_client.list_blobs()

for blob in blobs:
    print(blob)

現在我得到:

發生異常:ClientAuthenticationError 服務器無法驗證請求。 請參考www-authenticate header中的信息。 ErrorCode:InvalidAuthenticationInfo authenticationerrordetail:Audience validation failed。 觀眾不匹配。

您將必須使用AzureCLICredentials而不是使用AzureCLIAuthentication

在執行az login后,您可以使用類似下面的內容:

from azure.identity import AzureCliCredential
from azure.storage.blob import BlobServiceClient
cli_auth = AzureCliCredential()
blob_service_client = BlobServiceClient(account_url="https://<Storageaccountname>.blob.core.windows.net", credential=cli_auth)
container_client = blob_service_client.get_container_client("<ContainerName>")

blobs=container_client.list_blobs()

for blob in blobs:
    print(blob.name)

Output:

在此處輸入圖像描述

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM