gpt4 book ai didi

azure - 如何使用 Azure APIM 防止大文件 POST 请求?

转载 作者:行者123 更新时间:2023-12-03 01:33:07 27 4
gpt4 key购买 nike

如何使用 Azure APIM 防止大文件请求?

示例:阻止任何文件大小 > 50MB 的 POST 请求

最佳答案

您可以对所有 API 应用以下政策。对于每个 POST 请求,策略都会检查正文大小,如果大小超过 50MB,则会返回状态 413 - Payload Too Large。

<policies>
<inbound>
<base />
<choose>
<when condition="@(context.Request.Method == "POST")">
<set-variable name="bodySize" value="@(context.Request.Headers["Content-Length"][0])" />
<choose>
<when condition="@(int.Parse(context.Variables.GetValueOrDefault<string>("bodySize"))<52428800)">
<!--let it pass through by doing nothing-->
</when>
<otherwise>
<return-response>
<set-status code="413" reason="Payload Too Large" />
<set-body>@{
return "Maximum allowed size for the POST requests is 52428800 bytes (50 MB). This request has size of "+ context.Variables.GetValueOrDefault<string>("bodySize") +" bytes";
}
</set-body>
</return-response>
</otherwise>
</choose>
</when>
</choose>
</inbound>
<backend>
<base />
</backend>
<outbound>
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>

关于azure - 如何使用 Azure APIM 防止大文件 POST 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60448273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com