2

EFS の場所 (/temp/mf ディレクトリ、ファイル名 test.txt など) にファイルをドロップするメインフレーム (MF) があります。

MF がファイルへの書き込みを完了したことを確認するために、たとえば 30 秒間変更されていないファイル (test.txt) を検出するためのファイル トリガー (任意の AWS サービス) が必要であり、ラムダ関数を起動します。 .

どうすればこれを達成できますか?

4

1 に答える 1

2

EFS とラムダは難しい組み合わせです。EFS は基本的に NFS サービスであるため、EFS 共有に含まれるファイルにアクセスするにはサーバーが EFS 共有をマウントする必要があります。

これを機能させるには、EFS 共有をマウントするためのサーバー (つまり、EC2 インスタンス) が必要です。そのサーバーのロジックは、指定したとおりにファイルを監視する必要があります。

ファイルの準備ができたら、サーバーはラムダを呼び出すことができます。そのためのオプションがいくつかあります。

  1. サーバーは、ラムダによってサポートされている Web サービス API にファイルをプッシュします
  2. サーバーはファイルを S3 にプッシュし、ラムダは S3 イベントから駆動されます
  3. サーバーはラムダ (SNS または SQS) にイベントを送信します。イベントがファイルを含むか、サーバーがラムダでファイルを使用できるようにします (例: HTTP サーバー経由)

ただし、正直なところ、別のアーキテクチャを検討したほうがよいかもしれません。代替手段は次のとおりです。

  1. MF のロジックが監視を処理し、ファイルを S3 (または、ファイルが小さい場合やデータを分割できる場合は SNS/SQS) にプッシュできる場合、ラムダはそこから直接取得できます (上記の #2)。
  2. EFS に行き詰まっている場合は、その EC2 インスタンスが必要になるため、その上で処理を行うこともできます。
于 2017-03-28T15:20:06.323 に答える