【问题标题】:How to trigger blob function with user assigned identity如何使用用户分配的身份触发 blob 功能
【发布时间】:2020-06-08 01:47:10
【问题描述】:

我已经创建了一个 blob 触发 azure 函数,该函数目前在代码中使用连接字符串。

local.settings.json

public static class BlobTrigger_Fun
{
    [FunctionName("BlobTrigger_Fun")]
    public static void Run([BlobTrigger("democontainerazure/{name}", Connection = "AzureWebJobsStorage")]Stream myBlob, string name, ILogger log)
    {
        log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
    }
}

我想使用托管标识来避免在代码中使用连接字符串。

【问题讨论】:

  • 您好,您对此问题还有其他顾虑吗?
  • 不是真的,只是不想在代码中保留连接字符串
  • 不用担心,当你将函数发布到 Azure 时,local.settings.json 不会发布,它会使用你的函数应用的 AzureWebJobsStorage 应用设置 -> 配置,用于安全问题,你也可以将连接字符串存储在keyvault中,在app设置中引用,参考这个博客zimmergren.net/…反正微星无法替代AzureWebJobsStorage
  • 如果你只是想在本地测试你的代码,你可以在local.settings.json中直接使用存储模拟器"AzureWebJobsStorage": "UseDevelopmentStorage=true",参考eliostruyf.com/…
  • @SonamMohite 如果乔伊的回答对你有帮助,请标记他的回答以结束这个问题。:)

标签: azure azure-functions azure-managed-identity azure-blob-trigger


【解决方案1】:

不,你不能。

MSI(托管标识)不用于此类用途,它仅用于对支持 Azure AD 身份验证的 azure 服务进行身份验证,AzureWebJobsStorage 用于 azure 函数运行时,在函数应用中,该属性必须是在站点配置中指定为应用设置。

【讨论】:

  • 问题是,如果为应用启用了 MSI 并且 AzureWebJobsStorage 包含字符串 without AccountKey 部分,运行时是否能够连接到存储帐户?
猜你喜欢
  • 2019-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
相关资源
最近更新 更多