代码之家  ›  专栏  ›  技术社区  ›  Hugo Barona

azure功能、部署槽和api管理:功能关键问题

  •  1
  • Hugo Barona  · 技术社区  · 6 年前

    因此,我目前正在一个解决方案中工作,该解决方案使用至少一个具有授权级别(功能)的azure功能,并因此使用功能密钥进行授权。我已经配置了一个部署槽(staging),我正在通过vsts使用cd来构建、部署函数和交换槽。一切正常。

    但是现在是api管理,而我在api管理中注册了函数,所以最终用户为了与函数交互,他们是通过api管理来完成的。因此,为了使api管理发出有效的请求,它在后端url请求中注入函数键。

    但是,每当我部署新版本的函数,然后我交换,函数键就会改变。

    所以它也需要我在api管理中更改函数键。是否有任何方法可以避免更改密钥(生产和临时插槽之间的密钥可能相同?),或者用另一种更简单的方法来解决这个问题?

    我只是试图避免依赖关系,所以每当我在函数中部署更改时,就不必担心更改api管理,特别是因为它是一个手动更改。

    谢谢

    1 回复  |  直到 6 年前
        1
  •  1
  •   Hugo Barona    6 年前

    因此,thomas,首先,非常感谢您对密钥管理api和arm模板的建议。实际上,我的发现是:当您使用功能槽时,每个槽都有自己的专用键(默认功能键和默认主机键)。因此,当您使用api管理请求一个函数并依赖这些键时,如果您交换函数中的插槽,api管理将无法再成功地请求该函数。因此,为了避免在函数的部署过程中创建额外的步骤等等,我决定尝试创建一个自定义函数键(authkey),并将相同的值关联到两个插槽。因此api管理可以使用该密钥,而独立于哪个插槽是生产插槽。

    无论如何,为了避免任何健壮的自定义解决方案,我现在对这个解决方案很满意。

    再次感谢托马斯。