1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS DynamoDB PartiQL Tips】JSONのフィールド名にドットが入っている場合の対処方法

Posted at

はじめに

 AWS DynamoDBのSQL互換のPartiQLを使って、DynamoDB内のJSONフィールドにドットが含まれる場合の対処方法を紹介する。PartiQLの詳細については以下をこちらの記事を参照。

動作確認環境

前提

 JSONオブジェクトに以下のようにドット(.)が含まれている場合のフィールド名の指定方法について述べる。本来、ドットがフィールド名に入るのは、命名規則上良くない。なぜなら、階層を表すのにドットを使うため。命名規則を変えた方が良いが、既存のリソースを変更できない場合には、回避策として今回紹介する方法を参考にしてほしい。

JSONオブジェクト例
{
   "timestamp": "1735080692440"
   "serial.no": "00001"
   "payload": {
     "sensor.value": "100"
   }
}

方法

 JSONフィールド名を"(ダブルクォーテーション)で囲う。階層になっている場合は、それぞれのフィールド名を"で囲う(例:"filed1"."filed2")。フィールド名に対応する値は、'(シングルクォーテーション)で囲う。

PartiQL例(timestampの降順で、JSONデータを抽出)
SELECT "timestamp", "payload"."sensor.value" FROM DynamoDBTable WHERE "serial.no" = '00001' ORDER BY "timestamp" DESC

まとめ

 AWS DynamoDBのSQL互換のPartiQLを使って、DynamoDB内のJSONフィールドにドットが含まれる場合の対処方法を紹介した。本来は、JSONの命名規則を変更した方が良いが、どうしても変更できない場合は、今回紹介した方法で対処可能である。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?