質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Amazon Kinesis

Amazon Kinesisは、リアルタイムで動画や音声、IoT機器といったストリーミングデータを収集・処理・分析する完全マネージド型分析サービスです。インサイトを適時に取得できるので迅速な対応が可能になります。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

3692閲覧

AWS Kinesis firehoseからS3にデータ出力する際にJson形式からCSV形式に変換したい

horihorikotatsu

総合スコア1

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Amazon Kinesis

Amazon Kinesisは、リアルタイムで動画や音声、IoT機器といったストリーミングデータを収集・処理・分析する完全マネージド型分析サービスです。インサイトを適時に取得できるので迅速な対応が可能になります。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/05/06 06:43

前提・実現したいこと

打ち消し線
AWS Dynamodb Kinesis データストリーム(kinesis date streams)+Kinesis firehoseを利用し
対象テーブルにレコードがインサートされたらS3にデータを保存する仕組みを作成しましたが、
S3にデータを保存する際にJSON形式→CSV形式に変換したいと思っています。
データ出力形式の変換はLambdaを利用したいと考えていますが、
開発職ではないため、Lambda(プログラム)についてあまり知識がありません。
少しづつLamdba,pythonを勉強していますが、不明な点が多いです。

kinesis date streams or kinesis firehoseでJSON形式からCSV形式に変換ができる
Lambdaの雛形みたいなものがあればご教示お願い致します。

また、現状Dynamodbから出力されたS3のデータを確認すると、
複数JSONレコードがまとめて出力されている状態です。

例:{"test": "hello"}{"test": "hello"}{"test": "hello"}

試したこと・調べたこと

その他ネットで「dynamodb kinesis firehose CSV変換」などと検索しまたが、有効な情報が見つかりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

こんにちは。

問題文拝見させていただきました。

こちらの記事が参考になりましたので、ご確認いただけますか?????‍♂️

<参考>
DynamoDBのテーブルからデータを取得する部分
jsonからcsvへの変換

投稿2021/05/06 06:58

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

horihorikotatsu

2021/05/06 07:03

ご回答ありがとうございます!!! 確認いたします。
horihorikotatsu

2021/05/07 01:34

DynamoDBのテーブルからデータを取得する部分 ↑上記の文献を参考にLambdaを作成してテストを行うとエラーが表示されました。 { "errorMessage": "Handler 'handler' missing on module 'index'", "errorType": "Runtime.HandlerNotFound", "stackTrace": [] } ハンドラーにindexがないと言われているのは分かりますが、 エラーの解消はどのように行えばよろしいでしょうか。 ご教示お願い致します。
退会済みユーザー

退会済みユーザー

2021/05/07 03:32 編集

失礼しました。S3に上がったファイルをJSONからCSV変換するだけなので、DynamoDBは全く関係なかったですね。 まず、「"errorMessage": "Handler 'handler' missing on module 'index'"」は、作成した関数名と違う関数名が呼ばれることでエラーとして表示されています。(https://qiita.com/kazuqqfp/items/ac8d93918d0030b31aad ) S3にアップロードまではできているということですので、 1. こちらのリンクを参考(https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-s3-example.html )にLambda関数の作成とS3のトリガー部分を作成する。 2. Lambda関数のテストを行う。 3. S3のファイル情報を取得して、変換処理をこちらのリンク(https://www.geeksforgeeks.org/convert-json-to-csv-in-python/ )をもとに実装する。 でいかがでしょうか?????‍♂️
horihorikotatsu

2021/06/08 06:18

返信遅くなり申し訳ございません。 対応できました。ご教示して頂きありがとうございます。????‍♂️
退会済みユーザー

退会済みユーザー

2021/06/08 09:13

お、ナイストライです。 いえいえ。 また困ったこととかありましたら、気軽にご相談ください。 最後に素朴な疑問なのですが、差し支えなければどのようにteratailを始められたのか教えていただくことは可能でしょうか?????‍♂️
horihorikotatsu

2021/06/24 00:31

回答遅くなり申し訳ございません。 teratailを始めた理由としましては下記になります! ・様々なAWSサービスの内容が記載されている ・AWSサービス導入で行き詰った時に参考になったため
退会済みユーザー

退会済みユーザー

2021/06/24 00:35

なるほど、確かにteratailの回答はすごく参考になりますね〜。 自分も息詰まった時、利用しようと思います。 貴重なご意見ありがとうございます????‍♂️
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問