1
AWS Lambda
で再生するNode.js
で再生します。私はラムダ関数を作成し、それをS3 event
で設定しました。 S3にアップロードされたzipファイルを解凍し、抽出したファイルを同じバケットの別のフォルダにアップロードします。AWSラムダ機能を持つS3バケットからzipファイルをNode.jsで抽出し、別のバケットにアップロード
私は次のコードからバケットとファイル情報を取得していますが、その後はどのように抽出してs3にアップロードするのかわかりません。
すべての提案やコードが役立ちます。
'use strict';
console.log('Loading function to get all latest object from S3 service');
const aws = require('aws-sdk');
const s3 = new aws.S3({ apiVersion: '2006-03-01' });
exports.handler = (event, context, callback) => {
console.log('Received event:', JSON.stringify(event, null, 2));
// Get the object from the event and show its content type
const bucket = event.Records[0].s3.bucket.name;
const key = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, ' '));
const params = {
Bucket: bucket,
Key: key,
};
s3.getObject(params, (err, data) => {
if (err) {
console.log(err);
const message = `Error getting object ${key} from bucket ${bucket}. Make sure they exist and your bucket is in the same region as this function.`;
console.log(message);
callback(message);
} else {
console.log('CONTENT TYPE:', data.ContentType);
callback(null, data);
}
});
};
'gunzip'で' Error:incorrect header check'を取得しました – abdulbarik
このエラーは、データが圧縮されていないとスローされます。 –
このエラーを解決するにはどうすればよいですか?あなたはあなたの答えを更新できますか? – abdulbarik