当前位置: 首页 > 知识库问答 >
问题:

Azure函数使用来自Azure密钥库本地开发的连接

章烨烨
2023-03-14

我们正在本地开发该函数,尽管我们可以使用 ConfigurationBuilder()。AddAzureKeyVault() 在启动以检索密钥保管库机密时,我们正在努力使队列触发器从 Key Vault 获取连接字符串。如下所示,连接当前是从 local.settings.json 中存在的 AzureWebJobsStorage 密钥检索的:

    [FunctionName("myFunction")]
    public async Task MyFunction([QueueTrigger("aQueue", Connection = "AzureWebJobsStorage")] Car myCar)
    {
        await getCarAsync(myCar.Name);
    }

local.settings.json

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=....",

共有2个答案

冯阳云
2023-03-14

在某些情况下,触发器似乎存在记录在案的问题。(摘自本文。)

孔斌
2023-03-14

如果您将依赖关系注入与 FunctionsStartupIWebJobsStartup 一起使用,则可以像这样从 keyvault 设置连接字符串。

>

  • QueueTriggerAtment上的Connection属性设置为空字符串,例如

     [FunctionName("myFunction")]
     public async Task MyFunction([QueueTrigger("aQueue", Connection = "")] Car myCar)
     {
         await getCarAsync(myCar.Name);
     }
    

    在启动类中使用< code>PostConfigure

    public class Startup : FunctionsStartup
    {
      public override void Configure(IFunctionsHostBuilder builder)
      {
         builder.Services.PostConfigure<QueueTriggerAttribute>(x =>
         {
             x.Connection = ReadQueueConnectionStringFromKeyvault();
         });
      }
    }
    

    另一个要考虑的选择是KeyVault引用

  •  类似资料:
    • 我试图在本地(Ubuntu 19.10)运行此从保管库检索秘密示例,以从Azure Key Vault检索秘密: 但是,我收到以下错误: 蔚蓝色的果心例外。ClientAuthenticationError: 此链中没有提供令牌的凭据。 尝试的凭据: 环境凭据:不完整的环境配置。有关预期的环境变量,请参见https://aka.ms/python-sdk-identity#environment-

    • 我正在python中构建由事件网格事件触发的Azure函数,它应该能够从Kay Vault收集秘密。 我将系统分配的托管标识添加到我的功能应用程序中,然后我可以在密钥库访问策略中选择我的应用程序。我授予它如下所示的权限: (我尝试了不同的组合在这一个)

    • 我有一个在Azure VM中托管的php应用程序,在密钥库中有一些秘密。我已经设置了托管身份并获得了进入保险库的权限。 Azure SDK for php不支持密钥库,所以我使用REST接口。 我的问题是当在本地运行时,即我的代码在桌面上以VSCode运行时,我不能调用AIMS来获取令牌,因为我在本地机器上没有托管标识。 我只能想到两个选择: null 请注意,Visual Studio提供了Az

    • 我们希望利用Azure Key vault将我们的敏感密钥存储在Azure Key vault中,并利用存储的敏感密钥在发送到服务之前加密我们的字符串/纯文本数据。服务将再次与Azure Key vault交互,检索敏感密钥,用于解密客户端发送的加密字符串。任何一个可以提供一些关于如何使用azure密钥库以上的场景。