2017-05-23 13 views
-1

node.jsがcontext.fail(response)を使ってラムダを失敗させる例がたくさんあります。C#に相当するcontext.fail(response)とは何ですか?

c#のILambdaContextに失敗または成功するメソッドがないため、context.fail(response)のc#と同等のものは何ですか?

+1

私はC#の同等の例外をスローすると思います。例外は==成功しません。 –

+0

訂正のビット:[古いnode.js api](http://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-ja)のために 'context.fail(error)'が使われています。 model-using-old-runtime.html#nodejs-prog-model-oldruntime-context-methods)を参照してください。 [new node.js api](http://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-mode-exceptions.html)では、コールバックモデルが使用されています。今すぐ質問に答えてください:[ドキュメンテーション](http://docs.aws.amazon.com/lambda/latest/dg/dotnet-exceptions.html)では、C#で関数エラーを処理する方法を述べています。 – Romoku

+0

例外をスローすると、統合応答の正規表現を結びつける必要がありましたが、私は500までそれを得ることができました!ありがとう! – RandomUs1r

答えて

1

Node.jsバージョン0.10.42ランタイムでは、コンテキストにsucceed,fail、およびdone [1]のメソッドが含まれていました。このモデルは、コンテキストからメソッドを削除したコールバックモデルに置き換えられ、エラーはコールバック[2]から渡されます。

C#プログラミングモデルでは、例外は例外をスローすることです[3]。ドキュメントから

例外があなたのラムダ関数で発生し、ラムダはあなたに戻って 例外情報を報告します。

  • 初期化(ラムダは、あなたのコードをロードするハンドラ文字列を検証し、そしてそれは非静的であれば、あなたのクラスのインスタンスを作成する):例外が2つの の異なる場所で発生する可能性があります。
  • ラムダ関数の呼び出し。

    namespace Example {    
        public class AccountAlreadyExistsException : Exception { 
         public AccountAlreadyExistsException(String message) : 
         base(message) { 
         } 
        } 
    } 
    
    namespace Example { 
        public class Handler { 
        public static void CreateAccount() { 
         throw new AccountAlreadyExistsException("Account is in use!"); 
        } 
        } 
    } 
    

    [1]:Using Earlier Node.js Runtime (v0.10.42)

    [2]:Function Errors (Node.js)

    例外ハンドラからスローさ

例が与えられます。 [3]:Function Errors (C#)

+0

ここでは例外を投げるよりも少し複雑ですが、メソッドレスポンスステータスコードとステータスコードにリンクする正規表現を使用した統合レスポンスを作成する必要もありました。 – RandomUs1r

関連する問題