使用Service Fabric进行Azure API管理

问题描述 投票:0回答:1

问题:

我想设置一个CI / CD,每当我发布对SF API的更改时,它都会自动更新Azure API Management实例中API的端点。

我该如何计划呢?

我将更改推送到我的GitHub仓库,它已构建,并且已部署。该版本的第二步是PowerShell脚本,该脚本使用新部署的SF API的Swagger文档更新现有的Azure APIM API。

有什么问题?

好吧,除非您在Azure APIM API中定义了端点,否则无法通过网关。我可以在默认情况下在那里定义一个Swagger端点,但是每当运行PowerShell更新时,它都将删除该端点,因为生成的Swagger中没有自己,这完全合乎逻辑。

如果我以某种方式暴露没有网关的Swagger端点,那就会产生安全威胁,并且会破坏Azure APIM网关的目的。

我的设置?

传入请求 - > Azure APIM - >服务结构应用程序(公共/内部)

  • 理想情况下,内部SF应用程序不会通过网关公开,仅用于应用程序间通信。

在这方面的任何帮助都非常感谢,因为我有点被阻止:-)

azure azure-api-management azure-service-fabric
1个回答
0
投票

您可以在APIM中创建单独的API,以便访问swagger AT SF端,并且不要将此API更新为CI / CD的一部分。如果甚至可以从外部看作为所述API的一部分。例如,如果您的主API后缀为“/ myApi”,那么您可以将swagger API后缀定义为“/myApi/swagger.json”(其中的操作可能包含空URL模板)。

或者您可以作为CI / CD的一部分在新导入的API中重新创建swagger访问操作。稍后将使用此端点来获取下一次导入的swagger。

© www.soinside.com 2019 - 2024. All rights reserved.