#json #amazon-web-services #amazon-dynamodb
Вопрос:
В моем старом проекте есть данные в Standard JSON
формате in MySQL
.
Для моего совершенно нового проекта в JS
( Node.js
) и DynamoDB
о данных в Standard JSON
формате:
- Целесообразно ли преобразовать его в
DynamoDB JSON
? - Какие преимущества
DynamoDB JSON
имеет передStandard JSON
другими ? - Будет ли проще анализировать данные?
- Или он больше интегрируется с другими сервисами AWS, такими как
AppSync
GraphQL
? - Или этого достаточно, чтобы обработать его как строку?
- Есть ли что-то, о чем я не подумал?
Стандартный JSON
{ updated_at: 146548180, uuid: 'foo', status: 'new' }
DynamoDB JSON
{"updated_at":{"N":"146548180"},"uuid":{"S":"foo"},"status":{"S":"new"}}
Комментарии:
1. Пакет sdk node aws также предоставляет «клиент документов», я думаю, что он называется, и я уверен, что существуют эквиваленты для других языков, что немного облегчает работу с данными dynamodb. Основываясь на вашем примере, вы скорее получите
{"updated_at":146548180,"uuid":"foo","status":"new"}
, чем эту раздражающую динамическую структуру.
Ответ №1:
Основное преимущество JSON DynamoDB заключается в том, что вы явно задаете тип данных, что полезно для внутреннего представления, используемого DynamoDB, кроме того, я не вижу ни одного из них. Я также не знаю ни о каком другом сервисе AWS, использующем тот же вкус DynamoDB-JSON.
По моему опыту, DynamoDB-JSON просто более раздражает при работе из-за дополнительных преобразований данных, которые для этого требуются.
Я предпочитаю использовать обычный JSON в сочетании с JSON-схемой для обеспечения соблюдения типов и формата данных.
- Или этого достаточно, чтобы обработать его как строку?
Это может быть выгодно в некоторых случаях использования, но если вы используете структуры DynamoDB-JSON, вы можете устанавливать дополнительные индексы для полей и даже создавать разрешения на уровне атрибутов, если вам это требуется.