Невозможно проанализировать файл JSON с S3 в AWS Quick Sight - PullRequest
0 голосов
/ 20 мая 2018

Я разработал конвейер в AWS, где я собираю температуру процессора из своего ноутбука через Python 3, отправляю в AWS IoT Core с использованием протоколов безопасности, правило отправляет данные в Cloud Watch, а DynamoDB сохраняет их.Был создан конвейер данных для сохранения этих данных DynamoDB на S3, и я хочу сгенерировать графики этих данных с помощью Quick Sight.

Однако я не могу заставить Quick Sight правильно прочитать файл.Файл S3 выглядит следующим образом:

{"timestamp":{"s":"1526819850637"},"payload":{"m":{"$Temperature":{"s":"42.000"}}}}
{"timestamp":{"s":"1526819976032"},"payload":{"m":{"$Temperature":{"s":"42.000"}}}}
{"timestamp":{"s":"1526819934216"},"payload":{"m":{"$Temperature":{"s":"42.000"}}}}
{"timestamp":{"s":"1526817845094"},"payload":{"m":{"$Temperature":{"s":"48.000"}}}}

Когда я использую файл манифеста ниже, Quick Sight успешно читает данные, но команда 'parseJson' в поле New Calculated исчезает, делая невозможным чтение JSON:

{
    "fileLocations": [
        {
            "URIs": [
                "https://s3.amazonaws.com/my-bucket2/2018-05-20-12-32-49/12345-a279-1234-2269-491212345"
            ]
        },
        {
            "URIPrefixes": [
                "https://s3.amazonaws.com/my-bucket2/2018-05-20-12-32-49/12345-a279-1234-2269-491212345"
            ]
        }
    ],"globalUploadSettings": {
        "format": "CSV","delimiter":"\n","textqualifier":"'"
    }

}

Quick Sight считывает JSON как:

{{"timestamp":{"s":"1526819850637"},"payload":{"m":{"$Temperature":{"s":"42.000"}}}}}

... без команды parseJson.

Данные в Quick Sightне имеет пропущенных значений, и конвейер AWS работает отлично.Что я могу сделать?

1 Ответ

0 голосов
/ 20 мая 2018

Я нашел способ заставить его работать.Просто:

{
    "fileLocations": [
        {
            "URIs": [
                "https://s3.amazonaws.com/your-bucket2/2018-05-20-12-32-49/123456789"
            ]
        },
        {
            "URIPrefixes": [
            "https://s3.amazonaws.com/your-bucket2/2018-05-20-12-32-49/123456789"
            ]
        }
    ],"globalUploadSettings": {"format":"JSON",
    "delimiter":"\n","textqualifier":"'"
    }
}
...