如何通过Visual Studio代码配置运行在Azure Functions中的PowerShell API,以便可以将其作为this URL之类的Azure API管理作为OpenAPI规范API使用,如{{3 }}?
当前,如果我尝试将以下PowerShell API添加为Azure API管理中的OpenAPI-Specification API,则会出现错误
Unable to parse specified file. Please ensure it is valid OpenAPI specification document.
Azure函数PowerShell API URL: tutorial
答案 0 :(得分:6)
更新
情况发生了变化,当我们在V2 Function应用程序中单击API定义时,请参见
当前V2运行时不支持功能API定义(Swagger)功能。
我们可以直接import Function app to API Management,而无需定义API。
您首先需要为Azure函数创建OpenAPI定义。
步骤:
平台功能> API定义。
在API定义源下,选择Function(Preview)
以将HTTP触发器用作API处理程序。
生成API定义模板>保存。
将以下招摇模板粘贴为httptrigger函数模板。
然后使用您的函数应用和触发器名称对其进行修改。如果您的功能授权级别为匿名,请删除security
部分。
swagger: '2.0'
info:
title: <myfunctionapp>.azurewebsites.net
version: 1.0.0
host: <myfunctionapp>.azurewebsites.net
basePath: /
schemes:
- https
- http
paths:
/api/<MyHttpTrigger>:
get:
operationId: /api/<MyHttpTrigger>/get
description: Send a name to API to get Hello name back
summary: Get Hello name
parameters:
- in: query
name: name
description: Name to send
required: true
type: string
responses:
'200':
description: Return Hello name
security:
- apikeyQuery: []
post:
operationId: /api/<MyHttpTrigger>/post
description: Send a name to API to get Hello name back
summary: Get Hello name
consumes:
- application/json
parameters:
- name: requestbody
in: body
description: Name to send
required: true
schema:
type: object
properties:
name:
type: string
responses:
'200':
description: Return Hello name
security:
- apikeyQuery: []
securityDefinitions:
apikeyQuery:
type: apiKey
name: code
in: query
在API管理中添加API时,可以选择OpenAPI specification
或Function App
。
如果由于功能授权级别为Admin / Function而离开了安全性部分,则必须在功能下拉菜单的Manage
刀片中找到功能键,并在Inbound Processing
中更新后端URL。
当您选择Function App
时,可能会提示您添加密钥。
功能应用程序“ funcappname”已导入。请确保将以下“命名值”的值替换为函数的机密:funcappname_triggername_query_xxxxxx。
如果需要对标尺进行修改,请参见OpenAPI 2.0 docs。
答案 1 :(得分:0)
APIM支持导入:
链接中的内容-https://vscpsapi.azurewebsites.net/api/VSCPSapi-都不是。我完全不确定它的格式。因此无法导入。