問題タブ [aws-lambda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2500 参照

amazon-web-services - 同じバケットで AWS ラムダを使用して画像のサイズを変更する

現在、S3 に 2 つのバケットがbuckありbuck_thumbます。現在、画像をバケットにアップロードするbuckと、画像のサイズをサムネイルに変更し、サムネイルをbuck_thumbバケットにアップロードするラムダ関数がトリガーされます。

しかし今、私はそれを好きにしたい -buckバケットで画像のURLを送信すると、画像をダウンロードしてサイズを変更します。

方法はありますか?バケットを 1 つだけ使用してこれを行うことができますか?

0 投票する
2 に答える
2461 参照

javascript - Node.js と AWS Lambda を使用して S3 ファイルの内容を postgres テーブルに記録する

S3 put イベント (ログファイル) に応答し、ファイルを読み取り、COPY コマンドを介して Postgres テーブルに挿入するAWS Lambda実行スクリプトを node.js で作成しています。logToPostgresデータベースへの書き込み (以下のスクリプト)を除くすべてが期待どおりに機能しているようです。

いくつかのメモ:

  • ここでは関係ないので、S3 put イベントであることを確認するためにチェックする部分と、その他のエラー処理コードを削除しました。
  • データベース ユーザーはINSERT、テーブルとALLデータベースに対するアクセス許可を持ち、任意の IP からアクセスできます (すべて検証済み)。
  • secrets.jsデータベース資格情報をエクスポートする同じディレクトリ内のモジュールです
  • スクリプトをローカルで実行すると、データベースに問題なく書き込むことができます。
  • AWS Lambda の制限に達していません — S3 からダウンロードされたファイルは 521 バイトで、タイムアウトは最大 60 秒に設定されています (テストと同じ DB への書き込みでは 300 ミリ秒未満で実行されます)。

stream.pipe(query)...クラウド ウォッチにエラーはなく、すべてのステップでログを追加することで、コードの部分に絞り込むことができました。何らかの理由で、この部分は AWS Lambda によって実行されていませんが、ローカルでは正常に実行されています。'finished'andイベントを発行していない'end'ため、実行されないままになっていると思います。

問題がどこにあるのかについて何か考えはありますか?


アップデート:

書き込み可能なストリームがイベントを発行するようになったことが判明した'finish'ため、それを変更し'finish'て回答からの提案を含めると、エラーなしで実行されます。ただし、ラムダの実行後、データベースにはまだ行がありません。トランザクションがロールバックされているのではないかと思いますが、その理由や場所を特定できません。私は明示的にトランザクションを開始してコミットしようとしましたが、サイコロはありませんでした。

0 投票する
1 に答える
2161 参照

php - Amazon Lambda 呼び出しエラー

PHP から Amazon Lambda 関数を呼び出す必要がありますが、AWSLambdaFullAccess 権限を持っていると奇妙な権限エラーが発生します。私のコード:

これはエラーです:

何か案は?ありがとう

0 投票する
5 に答える
48932 参照

amazon-web-services - http リクエストで AWS Lambda 関数を呼び出す

AWS Lambda 関数を http リクエスト (GET または POST) で直接呼び出すことはできますか? そうでない場合、SNS または S3 を経由する回避策はありますか? 一つしか思い浮かばないので…

具体的には、JSON を使用して小さな API を作成したいと考えています。

0 投票する
1 に答える
5451 参照

node.js - AWS Lambda での AWS S3 サービス呼び出しで context.succeed()/context.fail() を適切に処理する

私はすでにここの投稿を検索しました (つまり、すべての呼び出しが非同期であることを考えると、ラムダ内で順次 AWS サービス呼び出しをどのように構造化しますか? ) および他の場所で、私が乗り越えるのに役立つ少しの情報を見つけることができないようですこの悩ましい問題。ループを反復処理する Lambda 関数があり、そのループ内で s3.putObject() の呼び出しを行う場合、context.succeed()/context.fail を適切に処理しようとすると短絡の問題が発生します。 () または Lambda プロセスを閉じる古い context.done(null, 'msg') 方法。

IE 反復では、アップロードする現在のオブジェクトで s3.putObject() を呼び出す必要がありますが、正常にアップロードされたファイルを cloudwatch またはおそらく SQS/SNS に出力します。ただし、このタイプのクロージャーを関数に入れようとする私の試みはすべて、ファイル名を取得することもあれば、ファイル名の一部のみを取得することもあるなどのランダムな結果に遭遇します。

それを行う最良の方法は何ですか?私は Q と async を使用しようとしましたが、正直なところ、私はまだこれらすべてを学んでいます..

以下は、私がやろうとしていることの大まかな例です:

しかし、前に述べたように、これまでに行った試みはすべて、さまざまな結果をもたらします。

しかし、関数出力の別のテスト:

ああ。