私はNodeJSキネシスストリームから読み込み、処理して別のキネシスストリームに書き込むラムダ関数です。書き込み部分がラムダにエラーを引き起こしています。 aws-sdk npmモジュールを使用してデータを書き込みます。 putRecordを呼び出すと、コールバックは発生せず、ラムダはタイムアウトします。 この書き込みコードは、ラップトップ上のノードアプリケーションとしてローカルで実行するとうまく動作します。NodeJSスクリプトはローカルでは動作しますが、ラムダのハンドラでは動作しません。
ローカル設定: - 資格情報がファイルにキネシスフルアクセスポリシーを持つプログラムで、ユーザーの資格情報がある保存され、putRecordが正常など
ラムダ関数shardId、シーケンス番号を、返し実行します。 - putRecordのコードが返されず、ハングします。エラーもスローされません。ラムダはキネシスフルアクセスポリシーの役割を担っています。
コード:
var AWS = require('aws-sdk');
var kinesis = new AWS.Kinesis({
region: 'us-east-1',
});
var randomNumber = Math.floor(Math.random() * 100000);
var data = 'data-' + randomNumber;
var partitionKey = 'pk-' + randomNumber;
var recordParams = {
Data: data,
PartitionKey: partitionKey,
StreamName: streamName
};
kinesis.putRecord(recordParams, function(err, data) {
console.log(data);
if (err) {
console.error(err);
}
});
問題を引き起こしている可能性がどのような任意のアイデア。 VPCやセキュリティグループは多分関連していますか? 思想と示唆が得られました。おかげさまで
また、(IIRC)は、ラムダ関数のサブネットがVPC内のプライベートサブネットであり、VPCのパブリックサブネットではないことを確認します。 –
@ JeffLearmanそうですね、NATゲートウェイへのルートを持たせるためには、彼らが必要となります。 –
ありがとうございます@マークB! VPCとセキュリティグループを削除した。 NATゲートウェイについての情報もありがとう。 – Malaka