public void putItemTable1(DynamoDBMasterItem1 masterItem, string TableName) { try { context.Logger.LogLine("DynamoDBHelper::putItemTable1()=> TableName = " + TableName); context.Logger.LogLine("DynamoDBHelper::putItemTable1()=> PKID = " + masterItem.EmployeeID); if (getItem(masterItem.UniqueID, TableName) == null) // this item does not exist { Table table = Table.LoadTable(client, TableName); var clientItem = new Document(); clientItem["UniqueID"] = masterItem.UniqueID; clientItem["EmployeeID"] = masterItem.EmployeeID; clientItem["Name"] = masterItem.Name; clientItem["Employee"] = masterItem.Designation; clientItem["Age"] = masterItem.Age; clientItem["Department"] = masterItem.Department; table.PutItemAsync(clientItem).GetAwaiter().GetResult(); context.Logger.LogLine("DynamoDBHelper::PutItem() -- PutOperation succeeded"); } else { context.Logger.LogLine("DynamoDBHelper::putItemTable1()=> UniqueID = " + TableName); } } catch (Exception ex) { context.Logger.LogLine("DynamoDBHelper::PutItem() -- " + ex.Message); context.Logger.LogLine("DynamoDBHelper::PutItem() -- " + ex.StackTrace); } }
public CloudFormationResponse LoadMasterData(LoadMasterDataCustomCloudformationEvent request, ILambdaContext context) { try { string UniqueIdGenerated = SecurityHelper.GetSha256Hash($"{request.StackId}:{request.LogicalResourceId}"); DynamoDBMasterItem1 item1 = new DynamoDBMasterItem1( UniqueIdGenerated, Convert.ToString(Guid.NewGuid()), "Rohit Srivastava", "Senior Consultant", "29", "Advisory"); context.Logger.LogLine($"Input event invoked: {JsonConvert.SerializeObject(request)}"); DynamoDBHelper dynamoDBHelper = new DynamoDBHelper(context, this.isLocalDebug); context.Logger.LogLine($"Custom cloudformation event request type: {request.RequestType}"); //Since this is not basically creation of any custom resource , rather initial data load , we donot need //to care about anything other than the CREATE request type if (string.Equals(request.RequestType, Constants.CloudFormationCreateRequestType)) { dynamoDBHelper.putItemTable1(item1, request.ResourceProperties.TableName); //Success - data inserted properly in the dynamoDB CloudFormationResponse objResponse = new CloudFormationResponse( Constants.CloudformationSuccessCode, "Custom Resource Creation Successful", $"{request.StackId}-{request.LogicalResourceId}-DataLoad", request.StackId, request.RequestId, request.LogicalResourceId, item1 ); return(objResponse.CompleteCloudFormationResponse(request, context).GetAwaiter().GetResult()); } else { CloudFormationResponse objResponse = new CloudFormationResponse( Constants.CloudformationSuccessCode, "Do nothing.Data will be pushed in only when stack event is Create", context.LogStreamName, request.StackId, request.RequestId, request.LogicalResourceId, null ); return(objResponse.CompleteCloudFormationResponse(request, context).GetAwaiter().GetResult()); } } catch (Exception ex) { context.Logger.LogLine($"StartupProgram::LoadMasterData => {ex.Message}"); context.Logger.LogLine($"StartupProgram::LoadMasterData => {ex.StackTrace}"); //Error - log it into the cloudformation console CloudFormationResponse objResponse = new CloudFormationResponse( Constants.CloudformationErrorCode, ex.Message, context.LogStreamName, request.StackId, request.RequestId, request.LogicalResourceId, null ); return(objResponse.CompleteCloudFormationResponse(request, context).GetAwaiter().GetResult()); } }