2017-08-17 13 views
0

s3に格納されているファイルがほとんどなく、ファイルが正確に作成された日付を調べる必要があります。ファイルをダウンロードするとすぐに、新しいファイルcreated_atが生成されますが、excelまたはpdfで開くと、正確なcreated_atタイムスタンプが表示されます。Get correct Correct created and modifiedAt date for s3に格納されたファイル

s3のファイルを取得するのにnode.jsを使用しています。これらの日付を私に与えるライブラリが必要です。

私はすでに試しましたxslx,fs,winattrおよびaws-sdkです。

+1

を使用して、ブックの作成したプロパティを読み取ることができるかもしれませんhttps://github.com/Gottox/node-pdfutils

Excelファイルと、ほとんどのMicrosoftのドキュメントを使用してそれらの詳細を解析することができますpdfやxlsxのように、オリジナルのcreated_atの統計情報は、ファイルメタデータとしてではなく、それらのファイル自体に保存されます。あなたはあなたの後に何をするためにあなたのpdf/excelドキュメントを解析する必要があるかもしれません。私の答えは、あなたが必要とするものではないかもしれません。 –

+0

あなたは正しく、 'docx'ファイルのメタデータを解析する何かを提供できますか? –

答えて

1

ローカルファイル(例:そのファイルをダウンロードした後、Node JS fs.stat関数を使用することができます。

これは、node.jsを実行しているOSによって保存されているファイルの統計情報/メタデータの詳細を表示します。

は、ファイルをAmazon S3の上に作成された日付を探しているなら、あなたは、オブジェクトのヘッドレスト要求を使用することができますhttps://nodejs.org/api/fs.html#fs_fs_stat_path_callback

を参照してください。

さらに詳しい情報は、Amazon S3 Object HEAD Documentationを参照してください。

Last-Modifiedは、オブジェクトの最終変更日または作成日のいずれか遅い方になります。そうすれば、必要な粒度を得ることができます。そうでない場合は、おそらくバージョン作成コマンドと組み合わせてHEADコマンドを使用して作成日を知ることができます。最初のバージョンを検索し、作成日の最初のバージョンのLast-Modifiedを取得します。

詳細はAmazon S3 Object HEAD Versioningを参照してください。

PDFファイルは、そのフォーマットの一部として内部的にアクセス、作成されたメタデータのプロパティを格納します。あなたは似た何かを、あなたは彼らが文書の特定のタイプであれば、それについて考えてhttps://www.npmjs.com/package/xlsx

+0

'node-pdfutils'に感謝します。しかし、私はfsを含む他のすべてのものを試して、要求を受け取りました。なぜ彼らは動作しないのか分かります。 –

+0

S3の 'HEAD'オブジェクト要求は' Last-Modified'ヘッダーを返します。そのため、標準のHTTP動作との整合性のために名前が付けられます。 S3オブジェクトは不変であり、バケットにアップロードした後は実際には変更することができないため、これは実際にオブジェクトがS3に書き込まれた日時(「作成済み」)です。実際、オブジェクトメタデータを更新すると、メタデータは更新されず、新しいメタデータとともにオブジェクト自体のコピーが上書きされます。これは 'Last-Modified'を" now "に設定しますが、実際には変更されませんでした。これは技術的に新しいオブジェクトで、S3の新しい作成日を持ちます。 –

+0

OPのための便利な情報があります。 Amazon S3を使ったことはありません。 @DileepChirumamila。* xで終わるMicrosoftの文書フォーマット。 .docxまたは.xlsxはXML形式です。最悪の場合は、メモ帳アプリケーションで文書を開き、作成した日付のノードを見つけて、XMLパーサーを使用してノード内の自分自身を手動で解析します。 –

関連する問題