J'ai un fichier json sur S3, je veux le transférer vers Redshift. Un hic est que le fichier contient des entrées dans un tel format:Aplatissement du fichier JSON lors du transfert de S3 vers RedShift à l'aide d'AWS Pipeline
{
"user_id":1,
"metadata":
{
"connection_type":"WIFI",
"device_id":"1234"
}
}
Avant que je vais l'enregistrer sur Redshift Je veux aplatir le fichier à contenir des colonnes:
user_id | connection_type | device_id
Comment puis-je faire cela en utilisant AWS Data Pipeline? Y at-il une activité qui peut transformer json à la forme souhaitée? Je ne pense pas que transformer sql supportera les champs json.
Serait-il possible d'automatiser la commande COPY pour chaque fichier placé dans un compartiment S3? Est-ce que la COPIE peut être déclenchée via le SDK? Si c'est le cas, il devrait être possible d'écrire une fonction Lambda qui déclenche la commande. – AitorF
Vous pouvez activer les notifications SNS sur votre compartiment S3 et déclencher le lambda à partir de celui-ci. Consultez ceci: http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html et http://docs.aws.amazon.com/sns/latest/dg/sns-lambda.html – systemjack