第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

VisualStudioCodeCredential.get_token 失敗

VisualStudioCodeCredential.get_token 失敗

慕桂英4014372 2023-07-27 16:33:29
我在 VS Code 中使用 Jupyter Notebook 和 Azure Python SDK 進(jìn)行本地開發(fā)。安裝了相關(guān)的 VS Code 擴(kuò)展:PythonAzure 帳戶Azure 存儲(也許相關(guān)?)目標(biāo):DefaultCredential使用身份驗證從 Azure Keyvault 檢索機(jī)密由于沒有環(huán)境變量或ManagedIdentity憑據(jù),DefaultCredential因此應(yīng)默認(rèn)從 VS Code 中提取我的憑據(jù)問題:import loggingfrom azure.keyvault.secrets import SecretClientfrom azure.identity import DefaultAzureCredentialkeyvault_name = "kv-test"keyvualt_url = "https://" + keyvault_name + ".vault.azure.net"keyvault_credential = DefaultAzureCredential()kv_secret1_name = "secret-test"keyvault_client = SecretClient(vault_url=keyvualt_url, credential=keyvault_credential)retrieved_key = keyvault_client.get_secret(kv_secret1_name)? ? ? ??logging.info("Account key retrieved from Keyvault")錯誤:EnvironmentCredential.get_token failed: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.ManagedIdentityCredential.get_token failed: ManagedIdentityCredential authentication unavailable, no managed identity endpoint found.SharedTokenCacheCredential.get_token failed: SharedTokenCacheCredential authentication unavailable. No accounts were found in the cache.VisualStudioCodeCredential.get_token failed: **Failed to get Azure user details from Visual Studio Code**.到目前為止嘗試過:F1,?Azure: Sign in通過瀏覽器進(jìn)行身份驗證不用找了看起來DefaultCredential()信用鏈正在運(yùn)行,但它無法運(yùn)行...get Azure user details from Visual Studio Code.。這是因為我正在 VS Code 中的 Jupyter Notebook 內(nèi)進(jìn)行開發(fā),還是存在其他問題?看起來Python .NET SDK 也發(fā)生了類似的情況。
查看完整描述

4 回答

?
夢里花落0921

TA貢獻(xiàn)1772條經(jīng)驗 獲得超6個贊

不知道為什么它不起作用,它看起來是正確的。如果您只想使用 Visual Studio Code 登錄,也可以使用AzureCliCredential. 它在我這邊起作用。


您可以用來az login登錄您的帳戶。然后您將使用該代碼獲得秘密。


from azure.keyvault.secrets import SecretClient

from azure.identity import DefaultAzureCredential,AzureCliCredential


keyvault_credential= AzureCliCredential()


secret_client = SecretClient("https://{vault-name}.vault.azure.net", keyvault_credential)

secret = secret_client.get_secret("secret-name")


print(secret.name)

print(secret.value)

http://img1.sycdn.imooc.com/64c22c080001f60c06090038.jpg

http://img1.sycdn.imooc.com/64c22c12000156e905890052.jpg

查看完整回答
反對 回復(fù) 2023-07-27
?
富國滬深

TA貢獻(xiàn)1790條經(jīng)驗 獲得超9個贊

還有另一種簡單的方法可以解決此問題。我們可以使用前面的配置選項。

if self.local_dev:

? ?print(f"Local Dev is {self.local_dev}")

? ?self.az_cred = DefaultAzureCredential(

? ? ? ?exclude_environment_credential=True,

? ? ? ?exclude_managed_identity_credential=True,

? ? ? ?exclude_shared_token_cache_credential=True,

? ? ? ?exclude_interactive_browser_credential=True,

? ? ? ?exclude_powershell_credential=True,

? ? ? ?exclude_visual_studio_code_credential=False,

? ? ? ?exclude_cli_credential=False,

? ? ? ?logging_enable=True,

? ? ? ?)


else:

? ? self.az_cred = DefaultAzureCredential(

? ? ? exclude_environment_credential=True, logging_enable=True

? ? ? )

請注意,exclude_visual_studio_code_credential和 exclude_cli_credentialas 設(shè)置為False以及其他設(shè)置True為排除本地開發(fā),并exclude_environment_credential設(shè)置True為用于其他環(huán)境(例如生產(chǎn))。


default.py您可以在 package.json文件中看到這些配置azure identity。

http://img2.sycdn.imooc.com/64c22c2e0001b1d906530126.jpg

查看完整回答
反對 回復(fù) 2023-07-27
?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗 獲得超9個贊

如文檔中所述:

VisualStudioCodeCredential 不適用于高于 0.9.11 的 Azure 帳戶擴(kuò)展版本,這是一個已知問題。此問題的長期解決方案正在進(jìn)行中。同時,請考慮通過 Azure CLI 進(jìn)行身份驗證。

舉:DefaultAzureCredential(exclude_visual_studio_code_credential=True)

無論如何,根據(jù)vscode擴(kuò)展的版本,我們可能需要使用另一種身份驗證方式,例如SharedTokenCacheCredential,AzureCliCredential甚至InteractiveBrowserCredential。

就我而言,我的身份驗證在該步驟中失敗SharedTokenCacheCredential,據(jù)我所知,這是 Microsoft 產(chǎn)品之間使用的共享緩存。因此,我認(rèn)為其他安裝了 Microsoft 產(chǎn)品的人也可能會發(fā)生同樣的情況。

它失敗了,因為我的目標(biāo)租戶未包含在此緩存中。為了解決這個問題,我有兩個選擇:要么禁用共享令牌憑據(jù),要么將目標(biāo)租戶包含在共享緩存中。

對于第一個選項,我們可以執(zhí)行與禁用 vscode 類似的操作:DefaultAzureCredential(exclude_shared_token_cache_credential=True)

對于第二個選項,我按照DefaultAzureCredential(additionally_allowed_tenants=[TENANT_ID])中的建議進(jìn)行了操作: 。但通過查看源代碼,我們似乎可以通過以下方式實(shí)現(xiàn)相同的目的:

  • 將目標(biāo)租戶 ID 設(shè)置為名為 的環(huán)境變量AZURE_TENANT_ID,或者;

  • 直接傳遞共享緩存租戶id:DefaultAzureCredential(shared_cache_tenant_id="TENANT_ID")

請注意,env 變量的優(yōu)點(diǎn)是它可以被其他身份驗證方法使用,即InteractiveBrowserCredentialVisualStudioCodeCredential。


查看完整回答
反對 回復(fù) 2023-07-27
?
月關(guān)寶盒

TA貢獻(xiàn)1772條經(jīng)驗 獲得超5個贊

SharedTokenCacheCredential 上的身份驗證失敗。排除它修復(fù)了排除_shared_token_cache_credential 設(shè)置為 true 的問題。從 SDK 代碼中可以看出,當(dāng)我們配置了某些憑據(jù)方法并且該方法失敗時,鏈中的其他方法將被跳過。


for credential in self.credentials:

? ? ? ? try:

? ? ? ? ? ? token = await credential.get_token(*scopes, **kwargs)

? ? ? ? ? ? _LOGGER.info("%s acquired a token from %s", self.__class__.__name__, credential.__class__.__name__)

? ? ? ? ? ? self._successful_credential = credential

? ? ? ? ? ? return token

? ? ? ? except CredentialUnavailableError as ex:

? ? ? ? ? ? # credential didn't attempt authentication because it lacks required data or state -> continue

? ? ? ? ? ? history.append((credential, ex.message))

? ? ? ? except Exception as ex:? # pylint: disable=broad-except

? ? ? ? ? ? # credential failed to authenticate, or something unexpectedly raised -> break

? ? ? ? ? ? history.append((credential, str(ex)))

? ? ? ? ? ? _LOGGER.debug(

? ? ? ? ? ? ? ? '%s.get_token failed: %s raised unexpected error "%s"',

? ? ? ? ? ? ? ? self.__class__.__name__,

? ? ? ? ? ? ? ? credential.__class__.__name__,

? ? ? ? ? ? ? ? ex,

? ? ? ? ? ? ? ? exc_info=True,

? ? ? ? ? ? )

? ? ? ? ? ? break #<------------------

注意循環(huán)中的最后一個中斷。因此,另一種方法是讓 SharedTokenCacheCredential 不可用。


查看完整回答
反對 回復(fù) 2023-07-27
  • 4 回答
  • 0 關(guān)注
  • 262 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號