代码之家  ›  专栏  ›  技术社区  ›  Marek Grzenkowicz

功能键被Azure重置?

  •  0
  • Marek Grzenkowicz  · 技术社区  · 6 年前

    deployment of Azure Functions Runtime 2.0.12050-alpha . 门户中显示的错误为 The binding type(s) 'someType' are not registered .

    在实施一些更改(例如添加对Azure存储扩展的引用)之后, ILogger 而不是 TraceWriter ),该函数再次开始在本地工作,但我的应用程序仍然失败。

    拨弄了几下后,我注意到功能键变了。该值与调用该函数的web应用程序的设置中存储的值不同。我在那里设置了新的值,一切都开始正常工作。

    功能键是否可能在我不知情的情况下被重置?
    (这是一个小项目,我是唯一的开发者。)

    是因为新的函数运行时部署,还是定期重置密钥?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Marek Grzenkowicz    6 年前

    看到了吗 Changes to Key Management in Functions V2

    Azure函数目前支持两种关键的存储机制:文件系统和blob存储。

    2.0.12050-alpha ,函数秘密存储在blob存储中( AzureWebJobsStorage 默认情况下,用户可以通过设置 AzureWebJobsSecretStorageType files .

    为了使转换顺利进行,功能团队实现了一个临时密钥迁移代码路径,该路径将自动将机密从文件系统复制到blob存储。 未从运行时启用此内部方法 2.0.12115 因为它有点容易出错。

    这意味着:

    如果ping函数运行时(设置 FUNCTIONS_EXTENSION_VERSION 到次要版本<= 2.0.11961-alpha )之前 2.0.12050-alpha 已部署并释放ping(更改 功能\扩展\版本 ~2 )之后 2.0.12115 已部署(现在是 2.0.12134 ),您的功能键将被更改。

    2.0.1250 应该受益于秘密迁移代码,并具有一致的密钥。

    beta 在2.x之前是GA和 之后),我可以确认我的钥匙没有受到影响。至于SendGrid API密钥,它由除Azure之外的SendGrid服务控制,因此不会受到影响。顺便说一句,我几个月前生成的SendGrid API密钥现在仍然有效。

        2
  •  1
  •   ninjoncrak    3 年前

    我的情况是因为 更改存储帐户 与我的功能应用程序关联。

    具体地说,当我修复环境X的函数代码时,我注意到 AzureWebJobsStorage 环境变量指向与环境Y关联的存储帐户,并对其进行了更改。

    根据@jerry liu的评论,由于2.x函数秘密存储在blob存储中,因此更改相关的blob存储帐户可以有效地“重置”功能键。