簡體   English   中英

使用 Swashbuckle 在 Azure APIM 中導入 Azure Function App 的問題

[英]Issue with importing Azure Function App in Azure APIM using Swashbuckle

我們正在使用 Swashbuckle (v 3.2.2) 為 Azure Function Apps (v3) 生成 Swagger (OpenAPI) 文檔。 我們可以使用以下 PowerShell 腳本在 APIM 中導入 Azure Function App:

 $specificationUrl="https://myfunctionapp.azurewebsites.net/api/swagger/json?code=tdkaksas8393dkkfkr04kfkkfkf9933kk9==" $apiContext = New-AzApiManagementContext -ResourceGroupName "MyResourceGroup" -ServiceName "MyServiceName" Import-AzApiManagementApi -Context $apiContext -SpecificationFormat "OpenApi" -SpecificationUrl $specificationUrl -Path apis

問題是 Azure 函數應用程序未通過 APIM 中的正確設置導入。 導入操作的后端目標類型應為“Azure Resource”,但目標類型設置為“HTTP(s) 端點”。 除此之外,我們甚至沒有獲得“Azure Resource”作為選項,而是顯示“Azure Logic App”。 當我們手動執行時,它會顯示正確的后端目標,即“Azure 資源”。 請參閱此處的屏幕截圖了解詳細信息。

我們正在使用 Swashbuckle 版本 3.2.2 Swashbuckle並參考此鏈接為 Azure Functions 實現 Swagger(OpenAPI)。

根據官方文檔,以下是此操作的語法:

$context = New-AzApiManagementContext -ResourceGroupName "Api-Default-WestUS" -ServiceName "contoso"
Import-AzApiManagementApi -Context $context -SpecificationFormat OpenApi -SpecificationUrl https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml -Path "petstore30"

ApiId                         : af3f57bab399455aa875d7050654e9d1
Name                          : Swagger Petstore
Description                   :
ServiceUrl                    : http://petstore.swagger.io/v1
Path                          : petstore30
ApiType                       : http
Protocols                     : {Https}
AuthorizationServerId         :
AuthorizationScope            :
OpenidProviderId              :
BearerTokenSendingMethod      : {}
SubscriptionKeyHeaderName     : Ocp-Apim-Subscription-Key
SubscriptionKeyQueryParamName : subscription-key
ApiRevision                   : 1
ApiVersion                    :
IsCurrent                     : True
IsOnline                      : False
SubscriptionRequired          :
ApiRevisionDescription        :
ApiVersionSetDescription      :
ApiVersionSetId               :
Id                            : /subscriptions/subid/resourceGroups/Api-Default-West-US/providers/Microsoft.ApiManagement/service/contoso/apis/af3f57bab399455aa875d7050654e9d1     
ResourceGroupName             : Api-Default-West-US
ServiceName                   : contoso

嘗試跟隨它。 另外,請確保正確配置了 Open API 文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM