本文整理汇总了Java中com.amazonaws.services.lambda.runtime.events.SNSEvent.getRecords方法的典型用法代码示例。如果您正苦于以下问题:Java SNSEvent.getRecords方法的具体用法?Java SNSEvent.getRecords怎么用?Java SNSEvent.getRecords使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.amazonaws.services.lambda.runtime.events.SNSEvent
的用法示例。
在下文中一共展示了SNSEvent.getRecords方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: handleRequest
import com.amazonaws.services.lambda.runtime.events.SNSEvent; //导入方法依赖的package包/类
@Override
public Object handleRequest(SNSEvent snsEvent, Context context) {
logger = context.getLogger();
awsHelper = new AWSHelper(logger);
logger.log("Input: " + snsEvent);
List<SNSRecord> records = snsEvent.getRecords();
logger.log("Passed 001");
SNSRecord record = records.get(0);
logger.log("Passed 002");
SNS sns = record.getSNS();
logger.log("Passed 003");
String boardToProcess = sns.getMessage();
logger.log("Passed 004");
processBoard(boardToProcess);
logger.log("Passed 005");
return null;
}
示例2: handleRequest
import com.amazonaws.services.lambda.runtime.events.SNSEvent; //导入方法依赖的package包/类
@Override
public Object handleRequest(SNSEvent snsEvent, Context context) {
awsHelper = new AWSHelper(context.getLogger());
logger = context.getLogger();
logger.log("Input: " + snsEvent);
// You gotta love Java's deep objects...
List<SNSRecord> records = snsEvent.getRecords();
logger.log("Passed 001");
SNSRecord record = records.get(0);
logger.log("Passed 002");
SNS sns = record.getSNS();
logger.log("Passed 003");
String sessionId = sns.getMessage();
logger.log("Passed 004");
context.getLogger().log("Game of Life Session ID: " + sessionId);
logger.log("Passed 005");
calculateBoards(sessionId, NUMBER_OF_BOARDS);
logger.log("Passed 006");
return sessionId;
}
示例3: handler
import com.amazonaws.services.lambda.runtime.events.SNSEvent; //导入方法依赖的package包/类
@Override
public void handler(SNSEvent event, Context context) throws HandlerException {
if (!initialized) {
init(context);
}
this.source = this.sources.get(0);
this.inputFiles = new ArrayList<String>(0);
for (SNSRecord record : event.getRecords()) {
/*
* Parse SNS as a S3 notification
*/
String json = record.getSNS().getMessage();
S3EventNotification s3Event = S3EventNotification.parseJson(json);
/*
* Validate the S3 file matches the regex
*/
List<S3EventNotificationRecord> toProcess =
new ArrayList<S3EventNotificationRecord>(s3Event.getRecords());
for (S3EventNotificationRecord s3Record : s3Event.getRecords()) {
String s3Path = String.format("s3://%s/%s", s3Record.getS3().getBucket().getName(),
s3Record.getS3().getObject().getKey());
try {
this.source = SourceUtils.getSource(s3Path, this.sources);
} catch (SourceNotFoundException e) {
logger.warn("skipping processing " + s3Path);
toProcess.remove(s3Record);
}
}
if (toProcess.size() == 0) {
logger.warn("Nothing to process");
return;
}
this.inputFiles.addAll(toProcess.stream().map(m -> {
return m.getS3().getObject().getKey();
}).collect(Collectors.toList()));
this.recordIterator = new S3EventIterator(context, toProcess, s3ClientFactory);
super.process(context);
}
}
示例4: handleRequest
import com.amazonaws.services.lambda.runtime.events.SNSEvent; //导入方法依赖的package包/类
public Integer handleRequest(SNSEvent event, Context context) {
try {
// SNS Events could be possible more than one even if this looks a bit unusual for the deploy case.
for (SNSEvent.SNSRecord record : event.getRecords()) {
SNSEvent.SNS sns = record.getSNS();
// Check SNS header for event type.
SNSEvent.MessageAttribute attr = sns.getMessageAttributes().get(X_GITHUB_EVENT);
// Only watch pushes to master.
if (EVENT_PUSH.equalsIgnoreCase(attr.getValue())) {
PushPayload value = MAPPER.readValue(sns.getMessage(), PushPayload.class);
if (config.isWatchedBranch(new Branch(value.getRef()))) {
LOG.info(format("Processing '%s' on '%s': '%s'", attr.getValue(), value.getRef(), value.getHeadCommit().getId()));
switch (worker.call()) {
case SUCCESS:
return HttpStatus.SC_OK;
case FAILED:
return HttpStatus.SC_BAD_REQUEST;
}
}
// Different branch was found.
else {
LOG.info(format("Push received for: '%s'", value.getRef()));
}
}
// Different event was found.
else {
LOG.info(format("Event was: '%s'", attr.getValue()));
}
}
}
catch (Exception e) {
LOG.error(e.getMessage(), e);
return HttpStatus.SC_INTERNAL_SERVER_ERROR;
}
return HttpStatus.SC_BAD_REQUEST;
}
示例5: handleRequest
import com.amazonaws.services.lambda.runtime.events.SNSEvent; //导入方法依赖的package包/类
@Override
public Void handleRequest(SNSEvent snsEvent, Context context) {
for (SNSRecord snsRecord : snsEvent.getRecords()) {
delegateRequest(new SnsRecordAndLambdaContext(snsRecord, context));
}
return null;
}