我已在 Azure Linux 环境中部署了我的应用程序。
我按照官方的python示例:https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=python
import os
import requests
identity_endpoint = os.environ["IDENTITY_ENDPOINT"]
identity_header = os.environ["IDENTITY_HEADER"]
def get_bearer_token(resource_uri):
token_auth_uri = f"{identity_endpoint}?resource={resource_uri}&api-version=2019-08-01"
head_msi = {'X-IDENTITY-HEADER':identity_header}
resp = requests.get(token_auth_uri, headers=head_msi)
access_token = resp.json()['access_token']
return access_token
为什么我收到 KeyError: 'IDENTITY_ENDPOINT'
错误?我需要做额外的配置吗?
最佳答案
您可能尚未完成所提供链接中的某个步骤。当您将托管标识添加到 Azure 中的应用程序时,会添加这些环境变量。
该链接提供了多种添加身份的方法,但为了简单起见,现在只需使用系统分配的身份即可。
因此,对于您在 Azure 门户中创建的应用服务,请在“身份”下检查是否已将其设置为开启
:
要确认这已创建我们期望的 2 个环境变量,请再次在应用服务的门户中转到 SSH session (这取代了旧的控制台选项)。
在 shell 中,输入 printenv
以查看所有设置的环境变量。查找您的应用当前找不到的 2 个:
如果它们丢失了,请告诉我,至少我们可以更好地进一步挖掘。
关于python - key 错误 : 'IDENTITY_ENDPOINT' error in Azure environment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69203665/