如何在 Azure 中使用我的自定义代码创建 API?

How can I create API with my custom code in Azure?

我可以创建一个 API 来定义两个数字的总和并 returns 输出吗?我想在 Azure Web API 管理本身中编写所有逻辑。有没有规定,或者我需要在我的机器上创建它并导入到 Azure Web API 管理?

是否可以在 Azure 本身的 Web API 中创建它,而不是导入它?

有两种方法可以解决这个问题。 APIM 确实支持策略表达式:https://docs.microsoft.com/en-us/azure/api-management/api-management-policy-expressions This allows you to plug in arbitrary code into request processing pipeline. You can check policy samples here: https://docs.microsoft.com/en-us/azure/api-management/policy-samples 以查看实际效果。当与其他政策结合使用时,它确实可以让您做很多事情。如果我们假设您 "addition" 操作具有 /add?a={a}&b={b} 的 URI 模板,那么您可以总结 return 一个简单策略的结果:

<return-response>
    <set-status code="200" reason="OK" />
    <set-body>@{
        var a = int.Parse(context.Request.Url.Query.GetValueOrDefault("a", "0"));
        var b = int.Parse(context.Request.Url.Query.GetValueOrDefault("b", "0"));
        return (a + b).ToString();
    }</set-body>
</return-response>

如您所见,这是一个非常常规的 C# 代码,但它在您可以执行的操作和可以使用的类型方面受到限制(请先参阅 link)。如果您不能让它在这些限制内工作,您最好的办法是将自定义逻辑移到 APIM 之外,例如移到 Azure Functions 中。