ApiCenterOnboardingPlugin

检查应用中使用的 API 是否已在指定的 Azure API 中心实例中注册。

命令提示符的屏幕截图,其中显示了开发人员代理检查记录的 API 请求是否已在 Azure API 中心注册。

插件实例定义

{
  "name": "ApiCenterOnboardingPlugin",
  "enabled": true,
  "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
  "configSection": "apiCenterOnboardingPlugin"
}

配置示例

{
  "apiCenterOnboardingPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/apicenteronboardingplugin.schema.json",
    "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "resourceGroupName": "resource-group-name",
    "serviceName": "apic-instance",
    "workspaceName": "default",
    "createApicEntryForNewApis": true
  }
}

配置属性

财产 描述 违约
createApicEntryForNewApis 设置为 true 让开发代理为它检测到的 API 创建新的 API 条目,以及尚未在 API 中心注册的 API 条目。 当设置为 false 开发代理时,只会在命令提示符中列出未注册的 API。 true
resourceGroupName Azure API 中心所在的资源组的名称。 没有
serviceName 开发代理应用于检查应用中使用的 API 是否已注册的 Azure API 中心实例的名称。 没有
subscriptionId Azure API 中心实例所在的 Azure 订阅的 ID。 没有
workspace 要使用的 Azure API 中心工作区的名称。 default

命令行选项

没有

言论

ApiCenterOnboardingPlugin 插件检查应用中使用的 API 是否已在指定的 Azure API 中心实例中注册。 如果未注册 API,插件可以在 API 中心实例中创建新的 API 条目。

若要连接到 Azure API 中心,插件使用 Azure 凭据(按以下顺序):

  • 环境
  • 工作负荷标识
  • 托管标识
  • Visual Studio
  • Visual Studio Code
  • Azure 命令行接口 (CLI)
  • Azure PowerShell
  • Azure 开发人员 CLI

如果插件无法获取访问 Azure 的访问令牌,则会显示错误,开发人员代理会禁用它。 使用这些工具之一登录到 Azure,并重启开发代理以使用 ApiCenterOnboardingPlugin 插件。

如果在 CI/CD 管道中使用开发代理,则可以将 subscriptionIdresourceGroupNameserviceNameworkspaceName 属性的值作为环境变量传递。 若要使用环境变量,请使用 @前面附加值的名称,例如:

{
  "apiCenterOnboardingPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.27.0/apicenteronboardingplugin.schema.json",
    "subscriptionId": "@AZURE_SUBSCRIPTION_ID",
    "resourceGroupName": "@AZURE_RESOURCE_GROUP_NAME",
    "serviceName": "@AZURE_APIC_INSTANCE_NAME",
    "workspaceName": "@AZURE_APIC_WORKSPACE_NAME",
    "createApicEntryForNewApis": true
  }
}

在此示例中,ApiCenterOnboardingPlugin 插件将 subscriptionIdresourceGroupNameserviceNameworkspaceName 属性分别设置为 AZURE_SUBSCRIPTION_IDAZURE_RESOURCE_GROUP_NAMEAZURE_APIC_INSTANCE_NAMEAZURE_APIC_WORKSPACE_NAME 环境变量的值。

后续步骤