将Azure函数中的DefaultAzureCredential()与Python一起使用

将Azure函数中的DefaultAzureCredential()与Python一起使用,python,azure-functions,azure-sql-database,azure-managed-identity,Python,Azure Functions,Azure Sql Database,Azure Managed Identity,我正在尝试在Azure函数中使用带有python的DefaultAzureCredential()连接到Azure SQL 到目前为止,我发现的是:。我正在尝试使用托管标识进行身份验证 有没有一种方法可以在python代码中将DefaultAzureCredential()与SQLAlchemy一起使用,并在visual studio代码中用于本地开发?除了使用客户机ID、租户ID和客户机机密?之外,我无法谈论与SQLAlchemy的集成或Azure SQL对Azure Active Direc

我正在尝试在Azure函数中使用带有python的DefaultAzureCredential()连接到Azure SQL

到目前为止,我发现的是:。我正在尝试使用托管标识进行身份验证


有没有一种方法可以在python代码中将DefaultAzureCredential()与SQLAlchemy一起使用,并在visual studio代码中用于本地开发?除了使用客户机ID、租户ID和客户机机密?

之外,我无法谈论与SQLAlchemy的集成或Azure SQL对Azure Active Directory访问令牌的要求(您可能会发现有帮助)。但我可以说,是的,DefaultAzureCredential可以在令牌获取方面做您想要做的事情,只要满足一些先决条件:您的功能应用程序必须配置为托管身份,您必须在VS代码中登录Azure,并且您提到的环境变量不能在任何环境中设置(它们用于配置服务主体,即不是您想要的)

DefaultAzureCredential在凭证链上迭代,直到其中一个凭证链提供一个令牌(该令牌记录这些凭证的顺序)。鉴于上述先决条件,托管标识将在Azure功能中成功,但在本地失败,导致凭据尝试VS代码。请注意,您将验证不同的标识,因此您需要确保托管标识和登录到VS代码的用户都有权访问Azure SQL