NoSQLデータベースサービス DB構造、用語 table RDSでのtable item RDSでのrecord attribute RDSでのcolumn item間でattributeは一致しなくてよい 以下Partition Key、Sort Keyとなるattribute以外はtable生成時に設定不要 Primary Key DynamoDBでItemを一意に決定するためのキー 主キーとも言うらしい Partition Key table生成時に設定(必須) 単体でPrimary Keyとして使用可能 Sort Key table生成時に設定 Partition Key + Sort KeyでPrimary Keyとして使用可能 Partition Keyの値が同じでSort Keyの値が異なる場合に、Partition Key + Sort KeyでItemを一意に決定 Pr
概要 DynamoDBを初めて触るにあたり、DynamoDBの特徴や設計思想をまとめたサイトはたくさんあったのですが、 クエリ(以下、「Query」)についてまとめたサイトが見当たらなかったため、備忘録としてまとめてみました。 読書対象 ・DynamoDBを初めて触るにあたり、あらかじめの概要は調査して理解できたが、具体的に操作するにはどすれば良いか不明確な方 ・RDBについての前提知識がある方(基本的なクエリの書き方や用語について知識がある方) 参考サイト ・AWS 公式ドキュメント https://docs.aws.amazon.com/dynamodb/index.html ・gitにサンプルコードを公開しています https://github.com/ryohei0109-develop/Amazon.DynamoDb.Sample 用語について ●検索方法について ・Query
こんにちは、データアナリティクス事業本部の下地です。 コロナの影響でリモートワークになり4ヶ月目になりました。おかげさまで家で仕事をすることにも慣れてきました。慣れてくると在宅での仕事は移動がない分楽だなとも思える様になってきました。しかし、移動がないのは良いのですが運動不足を実感するとともに、体重の増加にも悩み始めました。毎日体重計に乗って確認はしているのですが簡易的に記録を取りたいなと思いましたので、日常的に使用しているlineとAWSのサービスを使用して下記図のようなイメージで体重管理のbotを作成したいと思います。 せっかく作成するのでAWSの様々な機能を使用したいなと思いましたので、前編・後編でまとめます。 前編で上図の仕組みを構築し、後編では記録した体重データを使用して体重推移の可視化やデータの暗号化などを試します。後半のリンクも載せますので合わせて参照していただけると幸いです
import json import boto3 import time from datetime import datetime, timezone TABLE_NAME = "Messages-t6ceffvesncxvgkpx6u6yus4zm-dev" QUERY_INDEX_NAME = "byLineUserId" dynamodb = boto3.client("dynamodb") messages = [ {"pKey": "p0001", "lineUserId": "uid0001", "role": "user", "content": "What is your name?"}, {"pKey": "p0002", "lineUserId": "uid0001", "role": "assistant", "content": "My name is ChatG
DynamoDBのデータ型は以下があります。Pythonのboto3でDynamoDBからデータを取得したときに、Pythonではどういうオブジェクトになるのかを確認しました。 String Binary Number Boolean Null List Map Set of String Set of Binary Set of Number DynamoDBとPythonのデータ型の対応 boto3のclientを使う場合とresourceを使う場合とで、扱いが異なります。 session.client("dynamodb").get_item は値とともにデータ型の情報が付随してきます。 session.resource("dynamodb").Table(table_name).get_item は直接Pythonのオブジェクトに変換されて取得できます。 DynamoDBでの型 c
AWSに登録すると1年間の無料枠が使用できますが、この無料枠の詳細を正しく押さえていないと痛い目に遭います。 請求が確定してからでは後の祭りなので、この記事では早い段階で請求を察知するためのアラームの設定について説明します。 AWSの管理者は必ず行ってください!! AWS無料枠の詳細 AWSの請求について ユーザに請求情報へアクセスできるようにする 請求情報のアクセス権 アクセス権の付与 IAMユーザ/ロールへのアクセス許可 の許可 IAMユーザへのアクセス許可 AWSの請求アラームの設定 ①請求ダッシュボードへ遷移 ②アラーム通知の設定 ③請求アラームの設定 AWSの請求アラームの設定について(まとめ) AWS無料枠の詳細 AWSの無料枠については公式サイトを参考にしてください。 aws.amazon.com 超ざっくり代表的なサービスについてまとめると サービス 無料枠詳細 EC2 t
Dynamodbを使うようになったのですが、RDBMSに比べるとDynamodbは雰囲気でやっているところが多く、表題のLimitオプションの挙動で嵌ったのでboto3での例とあわせてまとめておきます。 対象テーブル order_table = { 'TableName': 'order_table', 'KeySchema': [ { 'AttributeName': 'user_id', 'KeyType': 'HASH' }, { 'AttributeName': 'ordered_at', 'KeyType': 'RANGE' } ], 'AttributeDefinitions': [ { 'AttributeName': 'user_id', 'AttributeType': 'N' }, { 'AttributeName': 'ordered_at', 'AttributeT
Pythonの標準ライブラリのConfigParserで設定ファイル(Config.ini)を読み込めます。しかし、読み込んだ設定ファイルをprintにて出力しようとすると、読み込みに使用したSectionしか返却されません。Keyを指定することで値を出力できますが、読み込んだファイルのすべての値を出力したいときに全部のKeyを指定するのは面倒です。 今回の記事では、読み込みに使用したセクションだけでなく、読み込んだ設定ファイルの値をすべて出力します。 環境 Python 3.8.10 ゴール PythonのConfigParserで読み込んだ設定ファイルの中身をすべて出力する。 セクション「IT」で読み込んだ場合の出力結果。 {'username': 'it', 'password': 'password', 'port': '8080'} セクション「ST」で読み込んだ場合の出力結果。
フューチャー夏休み自由研究連載12本目の記事です。 はじめにはじめまして。TIG DXユニットの富山です。2020年4月新卒入社です。 夏休み自由研究連載の11本目の記事で公開されたSlack×GASの日報テンプレBOTを実務に導入してみたの執筆者である仁木さんと同期です。 私が参画しているプロジェクトでは、データベースにDynamoDBを採用しています。私は、RDBMSしか使用した経験がなかったので、NoSQLであるDynamoDBの理解にとても苦しみました。そこで今回の夏休み自由研究では理解した内容をまとめてみたいと思います! つまったポイントサマリ― これらが理解できるような記事を目指します。 DynamoDBとは公式ドキュメントによると、 Amazon DynamoDB は、規模に関係なく数ミリ秒台のパフォーマンスを実現する、key-value およびドキュメントデータベースです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く