将大型文件的内容从标准Logic应用程序传递到API应用程序

时间:2017-01-23 17:13:52

标签: azure azure-api-apps azure-logic-apps

我正在使用带有Swashbuckle的ASP.NET Web API项目来测试一个简单的自定义API应用程序,它接受2个参数:文件名和文件内容。

public class Parm
{
    public string FileName { get; set; }
    public string FileContent { get; set; }
}

扬鞭:

{
  "FileName": "string",
  "FileContent": "string"
}

我在将此API应用与逻辑应用集成时遇到问题,例如:处理在OneDrive文件夹中创建的所有文件,如下所示:

  1. “创建文件时”在OneDrive中触发
  2. 使用上一步中的参数File nameFile content调用自定义API应用。
  3. 只要上传的文件相对较小,一切正常,但对于较大的文件(例如10 MB),FileContent收到为空,并且该过程的逻辑可以理解失败。

    知道问题的原因是什么?我已尝试将FileContentstring更改为其他类型(Stream等),但这不起作用。只有以上步骤中的以下参数可供使用:File contentFile content typeFile entity tagFile identifierFile nameFile path

    标准API,例如“Azure Blob存储 - 创建blob”等,没有任何处理大File content的问题,因此肯定必须有办法实现它。感谢。

1 个答案:

答案 0 :(得分:1)

可以通过增加API应用程序的Web.config中HttpRuntimeSection.MaxRequestLength属性的值来解决此问题:

<configuration>  
    <system.web>  
        <httpRuntime maxRequestLength="12288" />  
    </system.web>  
</configuration>

Default value is 4096 KB