KeyError: 'IDENTITY_ENDPOINT' error in Azure environment
KeyError: 'IDENTITY_ENDPOINT' error in Azure environment
我已经在 Azure Linux 环境中部署了我的应用程序。
我按照官方python例子:https://docs.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'
错误?我需要做额外的配置吗?
看起来您可能还没有完成您提供的 link 中的某个步骤。当您将托管标识添加到 Azure 中的应用程序时,将添加这些环境变量。
link 提供了多种添加身份的方法,但现在为了简单起见,只需使用系统分配的身份即可。
因此,对于您在 Azure 门户中创建的应用服务,在身份下,检查您是否已将其设置为 On
:
为了确认这已经创建了我们期望的 2 个环境变量,再次在应用服务的门户中,转到 SSH 会话(这代替了旧的控制台选项)。
在shell中键入printenv
以查看所有设置的环境变量。查找您的应用当前无法找到的 2:
如果他们失踪了请告诉我,至少我们可以更好地进一步挖掘。
我已经在 Azure Linux 环境中部署了我的应用程序。
我按照官方python例子:https://docs.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'
错误?我需要做额外的配置吗?
看起来您可能还没有完成您提供的 link 中的某个步骤。当您将托管标识添加到 Azure 中的应用程序时,将添加这些环境变量。
link 提供了多种添加身份的方法,但现在为了简单起见,只需使用系统分配的身份即可。
因此,对于您在 Azure 门户中创建的应用服务,在身份下,检查您是否已将其设置为 On
:
为了确认这已经创建了我们期望的 2 个环境变量,再次在应用服务的门户中,转到 SSH 会话(这代替了旧的控制台选项)。
在shell中键入printenv
以查看所有设置的环境变量。查找您的应用当前无法找到的 2:
如果他们失踪了请告诉我,至少我们可以更好地进一步挖掘。