1

Newbee to AWS。dynamodbからredshiftへのペイロードデータのコピー

DynamoDBからRedshiftにテーブルをインポートするためにCOPYコマンドを使用したいと思います。しかし、私は "無効な操作:サポートされていないデータタイプ:現在のバージョンは文字列と数字のみをサポートしています"というエラーメッセージが表示されました。あるいは、私はいくつかの列にのみ値を持つことができます(paylaodのセンサー値など、より重要なもの)はnullです。

dynamoDBでは、hashkeyとrangekeyはStringですが、ペイロードはJSON形式です。このペイロードをRedshiftにどのようにコピーできますか? AWSのドキュメントに詳細な解決策が提供されていませんでした。

+0

https://github.com/awslabs/lambda-streams-to-firehose – systemjack

答えて

2

スカラーデータタイプ(STRINGおよびNUMBER)を持つDynamoDBテーブルからCOPYコマンドを使用してデータをコピーできます。

異なるデータタイプ(Map、List、Setなど)を持つDynamoDBテーブルの属性がある場合、COPYコマンドは失敗します(つまり、現時点ではサポートされていません)。

スカラーSTRINGとNUMBERデータの タイプのAmazon DynamoDB属性のみがサポートされています。 Amazon DynamoDBのBINARYおよびSETデータ型は、 でサポートされていません。 COPYコマンドがサポートされていないデータ型 で属性をロードしようとすると、コマンドは失敗します。属性が とAmazon Redshiftテーブルの列が一致しない場合、COPYは をロードしようとせず、エラーは発生しません。

+0

ご返信ありがとうございます。 AWS IoTチュートリアルでは、センサデータをJSONとしてペイロードに格納し、dynamoDBにハッシュキーとレンジキーを追加するように指示します。だから多分S3へのdynamoDBのエクスポートは、このシナリオの唯一の有効なソリューションですか? – stev90098289dev

+0

はい、AWSパイプラインを使用してデータをS3にエクスポートできます。 – notionquest

関連する問題