2

我的工作與從一個DynamoDB觸發器觸發了一些lambda函數的AWS無服務器應用程序...調試AWS無服務器lambda函數與DynamoDBEvents在C#

輸入在DynamoDB表中的新記錄基本上當。 ..it觸發一個LamdaFunction,它讀入DynamoDBEvent參數中新記錄的參數,然後執行一些業務邏輯並將數據寫入另一個DynamoDBEvents參數。

我該如何調試才能看到如何從DynamoDBEvents參數中獲取值?或者我可以用什麼策略來實現我想要做的事情?

有沒有辦法將Visual Studio Test項目中的DynamoDBEvent模擬到本地的所有函數?

public APIGatewayProxyResponse AddUserTask(DynamoDBEvent dynamoEvent, ILambdaContext context) 
{ 
    foreach (var record in dynamoEvent.Records) 
    { 
     //do stuff with the values from the new record in the dynamoEvent parameter... 
    } 

    var returnObj = new { Success = true }; 
    var response = new APIGatewayProxyResponse 
    { 
     StatusCode = (int)HttpStatusCode.OK, 
     Body = SerializeObject(returnObj), 
     Headers = new Dictionary<string, string> { { "Content-Type", "application/json" } } 
    }; 

    return response; 
} 

回答

1

我知道使用AWS Lambda進行調試的主要方式是使用調試輸出記錄到CloudWatch。 AWS提供C# Logging documentation

context.Logger.Log("My debug log!"); 

您可能會嘗試將您的記錄傳遞給該記錄。

context.Logger.Log(var.EventSourceArn); 

可能會打印出來,否則檢查文檔還有什麼可用的。

+0

感謝Udo .....有效......並且日誌在CloudWatch中很好地顯示! –