0.1.0 • Published 7 years ago
pambda-records v0.1.0
pambda-records
イベントレコードを処理する Pambda.
Installation
npm i pambda-recordsUsage
const { compose, createLambda } = require('pambda');
const { records } = require('pambda-records');
export const handler = createLambda(
compose(
records((record, context, callback) => {
// record の処理。
callback(null);
}),
// other pambdas
)
);API
records(options, finalHandler)
Records プロパティを持つイベントを処理する Pambda を生成する。 その Pambda は無関係なイベントは無視する。
options- 関数を渡した場合、
options.handlerとして扱われる。
- 関数を渡した場合、
options.handler- イベントの各レコードを処理する関数。 この関数は
(record, context, callback)かasync (record, context)のいずれかでなければならない。record- 処理対象となるレコード。
context- Lambda が呼ばれた時の Context オブジェクト。
callback(err, ...result)- レコード処理が完了した時に呼ぶ必要があるコールバック関数。
- イベントの各レコードを処理する関数。 この関数は
options.parallelRecordsの配列を並行処理するかどうかを示す Boolean 。- このオプションが真の場合、
finalHandlerに渡されるdata.recordsとdata.failuresの要素の順序は、Recordsと同じ順序になることを保証しない。
finalHandler(err, data, callback)- 全てのレコードの処理が完了した時に呼ばれる関数。
err- レコードの処理中に起きた最初のエラー。
data- 以下のプロパティを持つ Object 。
recordsoptions.handlerが返した結果を要素に持つ配列。
failuresoptions.handlerがエラーを返した時のerrとrecordを持つ Object を要素に持つ配列。
- 以下のプロパティを持つ Object 。
callback(err, result)- Lambda が呼ばれた時のコールバック関数。
- 省略した場合、
errをcallbackに渡す関数が使用される。
- 全てのレコードの処理が完了した時に呼ばれる関数。
この Pambda によって処理されるイベントは、以下のサービスのイベントとなる。
- CloudTrail
- CodeCommit
- DynamoDB Streams
- Kinesis Data Streams
- Lambda@Edge
- S3 Event Notifications
- SES
- SNS
- SQS (Standard Queue)
parallel(handler, finalHandler)
この関数は以下の呼び出しと等価。
records({
handler,
parallel: true,
}, finalHandler);series(handler, finalHandler)
この関数は以下の呼び出しと等価。
records({
handler,
parallel: false,
}, finalHandler);License
MIT