「失敗した」関数の再試行を制限するために2つの方法を試しましたが、どちらも機能しませんでした(以下で説明)。私は発達障害があるので、どんな助けでもありがたいです。
コンテキスト:関数は、電子メールの添付ファイルがblobに保存された後、電子メールによってトリガーされるロジックアプリに配置されます。ファイルが保存された後、関数は正常に実行されますが、ロジックアプリは2〜3分の実行時間後に「BadRequest。Http要求が失敗しました:サーバーがタイムアウト制限内に応答しませんでした」を返します。次に、ロジックアプリは関数をさらに4回再試行します。
方法1:host.jsonに再試行を配置しました:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
}
}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[1.*, 2.0.0)"
},
"retry": {
"strategy": "fixedDelay",
"maxRetryCount": 0,
"delayInterval": "00:00:05"
}
}
方法2:同じスニペットをfunction.jsonに配置しました:
{
"scriptFile": "__init__.py",
"bindings": [
{
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get",
"post"
]
},
{
"type": "http",
"direction": "out",
"name": "$return"
}
],
"retry": {
"strategy": "fixedDelay",
"maxRetryCount": 0,
"delayInterval": "00:00:10"
}
}
再試行ポリシーはによって定義されazure logic app
ます。関数で構成するのではなく、Azureロジックアプリのアクションで再試行ポリシーを構成する必要があります。再試行ポリシーを参照できます:
最も基本的な例外とエラー処理については、サポートされているアクションまたはトリガーで再試行ポリシーを使用できます。たとえば、HTTPアクションを参照してください。再試行ポリシーは、元の要求がタイムアウトまたは失敗したときに、アクションまたはトリガーが要求を再試行するかどうか、およびその方法を指定します。これは、408、429、または5xx応答をもたらす要求です。他の再試行ポリシーが使用されていない場合は、デフォルトのポリシーが使用されます。
再試行回数を0に設定する場合は、以下の手順に従ってください。
あなたは、クリックできる···
の右上にHttp
、アクションクリックしSettings
て、選択None
の下でRetry Policy
:
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加