

Azure Functions(C#、Runtime .NET6、HttpTrigger)で  
Http Request(POST/Type JSON)を受け取る際、ボディ部分のパラメータに  
Base64の文字列(画像自体は85KBほどのものをエンコードしました)を入れると413エラー(request entity too
large)が発生します。  
Azure Functionsはスタンダードプランを使用しています。

### 希望動作

POST RequestでBase64の文字列をAzure Functionsで受け取り、内容をlog.LogInformationで表示したい。

### HttpRequest

[code]

    {
     "image":"Base64形式の文字列～～(80KB)"
    }
    
[/code]

### Azure Functions

[code]

        public static async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            //Build Count.
            log.LogInformation("BuiltNo.0011 AddInspectionRecord.cs");
    
            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            dynamic data = JsonConvert.DeserializeObject(requestBody);
            string lBaseString = data.image;
    
            log.LogInformation(lBaseString);    ###このログでBase64文字列を表示したい
    
            return new OkObjectResult("test");
    
        }
    
[/code]


CC BY-SA 4.0
2022-08-01T10:57:25.890
90309
2022-08-02T03:13:03.133
2022-08-02T02:39:24.907
7347
53799
question
c# http azure
Azure FunctionsでBase64の文字列を読み込むとエラー413（request entity too large）が発生する。


質問者さんは去ってしまって、どのように解決したかを書く気はなさそうですね。

なので、自分がこのスレッドを見て思ったことというレベルで回答にはなってませんが、以下に書いておきます。

azure function request entity too large でググるとヒットする記事には CORS
の設定で問題を回避したというものがいくつか見られます。

[FIXED] Azure function failing : "statusCode": 413, "message": "request entity
too large"  
<https://www.pythonfixing.com/2021/10/fixed-azure-function-
failing-413-entity.html>

何故 CORS が関係するのか不可解ではありますが、試してみてもよさそうだと思いました。

あと考えられるのは、実際に送信した JSON 文字列のサイズが too large なのかもということぐらいです。

古い話ですが ASP.NET Web サービスのメソッドに対してクライアントから JSON 文字列を送信する場合、サーバーへ送信できる JSON
文字列の長さはデフォルトで 102,400 文字に制限されています。

ASP.NET MVC アプリでは話が変わってきて、文字数制限は JavaScriptSerializerクラスの MaxJsonLength
プロパティのデフォルト値 2,097,152 文字となります。

詳しくは以下の記事を見てください。

MVC は maxJsonLength を無視  
<http://surferonwww.info/BlogEngine/post/2013/08/07/asp-net-mvc-ignors-the-
maxjsonlength-setting-in-web-config.aspx>

Azure Functions は分かりませんが、同様な制限があるのかもしれません。


CC BY-SA 4.0
2022-08-02T03:13:03.133
90327
2022-08-02T03:13:03.133
51338
90309
answer