0.1.0 • Published 5 years ago

pambda-records v0.1.0

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

pambda-records

イベントレコードを処理する Pambda.

Installation

npm i pambda-records

Usage

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.parallel
    • Records の配列を並行処理するかどうかを示す Boolean 。
    • このオプションが真の場合、finalHandler に渡される data.recordsdata.failures の要素の順序は、Records と同じ順序になることを保証しない。
  • finalHandler(err, data, callback)
    • 全てのレコードの処理が完了した時に呼ばれる関数。
      • err
        • レコードの処理中に起きた最初のエラー。
      • data
        • 以下のプロパティを持つ Object 。
          • records
            • options.handler が返した結果を要素に持つ配列。
          • failures
            • options.handler がエラーを返した時の errrecord を持つ Object を要素に持つ配列。
      • callback(err, result)
        • Lambda が呼ばれた時のコールバック関数。
    • 省略した場合、 errcallback に渡す関数が使用される。

この Pambda によって処理されるイベントは、以下のサービスのイベントとなる。

parallel(handler, finalHandler)

この関数は以下の呼び出しと等価。

records({
  handler,
  parallel: true,
}, finalHandler);

series(handler, finalHandler)

この関数は以下の呼び出しと等価。

records({
  handler,
  parallel: false,
}, finalHandler);

License

MIT