2017-01-09 2 views
0

awsツールキットで.netのプロファイルを作成しましたが、aws関数をアップロードしてラムダ関数を作成しています。 awsコンソールでテストしたときに関数がエラーをスローしません。ただし、データはdynamodbテーブルに追加されません。ここ項目はdynamotbで.wsのツールキットを使用して追加されていません.net

は、コードスニペットである:

public void FunctionHandler(DynamoDBEvent dynamoEvent, ILambdaContext context1) 
    { 
     AmazonDynamoDBClient client = new AmazonDynamoDBClient(); 
     var context = new DynamoDBContext(client); 

     Table awsnet = Table.LoadTable(client, "bookmaster"); 
     context1.Logger.LogLine("In method : Function Handler : start"); 
     CreateBookItem(bookmaster); 
    } 

private static void CreateBookItem(Table tblName) 
    { 
     var client = new AmazonDynamoDBClient();   
     Console.WriteLine("\n*** Executing CreateBookItem() ***"); 
     string sampleBookId = "3"; 
     var doc = new Document(); 
     doc["strid"] = sampleBookId; 
     tblName.PutItemAsync(doc); 
    } 

また、全ての実施例は、 "tblName.PutItem(DOC)" を使用しているが、それは使用できません。だから私は "tblName.PutItemAsync(doc)"を使用しています。ログ行はawsコンソールに表示されますが、データは表に追加されません。

+0

tblName.PutItemAsync(doc)関数からの応答を確認できますか –

答えて

0

私は次のコードで上記の問題を解決することができた:

公共ボイドFunctionHandler(DynamoDBEvent dynamoEvent、ILambdaContext CONTEXT1) { AmazonDynamoDBClientクライアント=新しいAmazonDynamoDBClient(); var context =新しいDynamoDBContext(クライアント);

 Table bookmaster = Table.LoadTable(client, "bookmaster"); 
     context1.Logger.LogLine("In method : Function Handler : start");    

     string result = PutDataAsync(bookmaster, context1).Result; 
     context1.Logger.LogLine("Result = " + result);    
    } 

    private static async Task<string> PutDataAsync(Table table , ILambdaContext context1) 
    { 
     try 
     { 
      string sampleBookId = "3"; 
      var doc = new Document(); 
      doc["strid"] = sampleBookId; 

      Document x = await table.PutItemAsync(doc); 
      context1.Logger.LogLine("In method after put item async"); 
      return "success"; 
     } 
     catch(Exception ex) 
     { 
      context1.Logger.LogLine("In method after put item async catch block"); 
      return "failed"; 
     }      
    } 
関連する問題