2016-06-20 4 views
1

AWS lambdaは、s3へのファイルのアップロードなどのイベントに応答してコードを実行することを可能にします。ただし、ラムダコールバックはイベントを呼び出したユーザーではなく、イベントの呼び出し元に通知します。ラムダ機能が完了したことをユーザにどのように通知するのですか?

  1. ユーザーが
  2. ユーザーは、処理は、あなたがどのように行うだろう

完了したという通知を受けた処理されたファイル

  • をS3にファイルをアップロード:

    は、次のシナリオを検討しますこれはAWSラムダでですか?

  • 答えて

    3

    ファイルをアップロードするときに、メールアドレスまたはその他の識別子をオブジェクトに追加します(Object User-Defined Metadata)。

    オブジェクトをアップロードするときに、オブジェクトにメタデータを割り当てることもできます。 PUTまたはPOST要求を送信してオブジェクトを作成するときに、このオプションの情報を名前値(キー値)のペア として指定します。 REST APIを使用してオブジェクトをアップロードする場合、任意のユーザー定義の メタデータ名は、 他のHTTPヘッダーと区別するために、「x-amz-meta-」で始まる必要があります。 REST APIを使用してオブジェクトを取得すると、 この接頭辞が戻されます。 SOAP APIを使用してオブジェクトをアップロードする場合は、 という接頭辞は不要です。 SOAP APIを使用してオブジェクトを取得すると、 オブジェクトのアップロードに使用したAPIに関係なく、接頭辞が削除されます。

    ラムダ関数がファイル処理を完了すると、同じメタデータを読み取り、適切な通知をユーザーに送信できます。

    +0

    この回答を拡張するには... Lambdaはファイルを誰が*アップロードしたかについて全く知らない。 Lambdaは、Amazon S3の新しいオブジェクトに関する情報だけが渡されます。メタデータの考え方はうまくいきますが、ファイルがS3にアップロードされたときにメタデータが提供される必要があります。これは、S3にアップロードするHTMLフォームの一部として行うことができます。ただし、直接アップロードしている場合は、この要件を適用する際に問題が発生する可能性があります。 –

    +0

    通知をどのようにユーザーに送信するのかを考えてみましょうか? s3のアップロードが、ログインしたユーザーの簡単なhtmlフォームから開始された場合、ラムダ機能が終了したことをWebページにどのように通知しますか? – Fergie

    関連する問題