我有一个启用了流媒体的Dynamodb表.此外,我为此表创建了一个触发AWS Lambda函数的触发器.在这个lambda函数中,我正在尝试从Dynamodb流中读取新图像(修改后的Dynamodb项)并尝试从中获取纯json字符串.我的问题是如何获得通过流发送的DynamoDB项的纯json字符串?我正在使用下面给出的代码片段来获取新的Image,但我不知道如何从中获取json字符串.感谢您的帮助.
public class LambdaFunctionHandler implements RequestHandler<DynamodbEvent, Object> {
@Override
public Object handleRequest(DynamodbEvent input, Context context) {
context.getLogger().log("Input: " + input);
for (DynamodbStreamRecord record : input.getRecords()){
context.getLogger().log(record.getEventID());
context.getLogger().log(record.getEventName());
context.getLogger().log(record.getDynamodb().toString());
Map<String,AttributeValue> currentRecord = record.getDynamodb().getNewImage();
//how to get the pure json string of the new image
//..............................................
}
return "Successfully processed " + input.getRecords().size() + " records.";
}
Run Code Online (Sandbox Code Playgroud)
}
以下是我的自定义swift类.我的问题是如何使用SwiftyJson将此类的对象转换为json字符串?
class Equipment{
var UniqueItemId:String? = ""
var ItemNo:String? = ""
var EquipmentType:String? = ""
var EquipmentDescription:String? = ""
var Length:String? = ""
var Wll:String? = ""
var EquipmentLocation:String? = ""
var EquipmentManufacture:String? = ""
var SerialNo:String? = ""
var Condition:String? = ""
var Remarks:String? = ""
var InspectionDate:String? = ""
var Inspector:String? = ""
}
Run Code Online (Sandbox Code Playgroud)
例如,像这样:
var jsonString = JSON(equipmentObject);
Run Code Online (Sandbox Code Playgroud) 我有一个Dynamodb表,只包含一个哈希键(分区键).此表没有范围键(排序键).哈希键是一个数值(例如: - 1,2,3 ... N)当我查询或扫描此表时,他们将结果发送到哪个顺序?如果有一个范围键,它显然会根据范围键值按升序对结果进行排序.但在没有RANGE KEY的情况下,它的表现如何?
我有一个纯粹只使用HTML5和JS的静态网站.我也在Windows 7 PC中设置了手机屏幕.我的问题是,为了从现有的HTML/JS文件创建一个Android APK文件,我要遵循的步骤是什么.从头开始创建新的phonegap项目有很多教程.但我找不到任何有关将现有静态网站导入phonegap项目的帮助(请注意,https: //build.phonegap.com/apps 对我来说不是一个选项.)
下面给出的是我用来从Dynamodb表检索详细信息的方法。但是,当我调用此方法时,它最终抛出了一个异常“无法找到关键属性约会ID的属性”。该特定表的主键是约会ID,但是我已经在PatientId列上创建了全局二级索引。我在下面的查询中使用该索引,以通过给定的PatientID获取约会详细信息。
public async Task GetAppointmentByPatientID(int patientID)
{
var context = CommonUtils.Instance.DynamoDBContext;
PatientAppointmentObjectList.Clear();
DynamoDBOperationConfig config = new DynamoDBOperationConfig();
config.IndexName = DBConstants.APPOINTMENT_PATIENTID_GSI;
AsyncSearch<ScheduledAppointment> appQuery = context.QueryAsync<ScheduledAppointment>(patientID.ToString(), config);
IEnumerable<ScheduledAppointment> appList = await appQuery.GetRemainingAsync();
appList.Distinct().ToList().ForEach(i => PatientAppointmentObjectList.Add(i));
if (PropertyChanged != null)
this.OnPropertyChanged("PatientAppointmentObjectList");
}
}
Run Code Online (Sandbox Code Playgroud)