【Amazon Q Developer】AWS マネジメントコンソールの Amazon Q チャットで S3・DynamoDB のデータを日本語でクエリ可能に!

記事タイトルとURLをコピーする

 
 こんにちは、AWS サポート課の坂本(@t_sakam)です。今回は、2025 年 7 月 9 日に発表された「Amazon Q Developer のサービスデータクエリ機能」を取り上げます。このアップデートにより、マネジメントコンソールの Q チャットから、S3 や DynamoDB のデータを自然言語で直接クエリして、計算や分析までできるようになりました。

例えば、Amazon Q Developer は、AWS S3 バケットに保存されているトランザクションレシートを分析したり、AWS DynamoDB テーブル内のレコードを調べたり、CloudWatch ログを確認したりするといったことをすべて自然言語での会話によって行えるようになりました。
引用元: AWS マネジメントコンソールの Amazon Q チャットで AWS のサービスのデータをクエリ可能に - AWS

 また、昨日(2025 年 7 月 31 日)、マネジメントコンソールの Amazon Q Developer の日本語対応が発表されました。発表前までは、この機能を英語で試していたのですが、本記事では、早速日本語で実際に試してみた結果をお届けします。

 今回の検証範囲は、上記の AWS のドキュメントに記載があった S3、DynamoDB、CloudWatch Logs です。

本日、Amazon Q Developer は、AWS Management Console、AWS Console Mobile アプリケーション、および Microsoft Teams と Slack チャットアプリケーションの Q Developer における多言語サポートの拡大を発表しました。サポートされる言語は、フランス語、ドイツ語、イタリア語、日本語、韓国語、北京語、スペイン語、ポルトガル語です。
引用(翻訳)元: Amazon Q Developer expands multi-language support - AWS

S3

データの準備

 まず、S3 にアップロードする CSV ファイルを準備します。今回利用したのは、ファッション、食品、バラエティの 3 種類の架空のお店の 6 月の日別の売り上げデータが入っている CSV ファイルです。

お店のイメージ

CSV データ例 [2025-06-sales-report.csv]

date,store_id,store_name,category,sales
2025-06-01,001,Shibuya,Fashion,166055
2025-06-01,002,Shinjuku,Food,161574
2025-06-01,003,Ueno,Variety,136935
2025-06-02,001,Shibuya,Fashion,193036
2025-06-02,002,Shinjuku,Food,131108
2025-06-02,003,Ueno,Variety,153325
2025-06-03,001,Shibuya,Fashion,177536
2025-06-03,002,Shinjuku,Food,139115
2025-06-03,003,Ueno,Variety,203942
2025-06-04,001,Shibuya,Fashion,193094
2025-06-04,002,Shinjuku,Food,125416
2025-06-04,003,Ueno,Variety,159290
…

CSV ファイルを S3 にアップロード

 先ほど作成した CSV ファイル "2025-06-sales-report.csv" を S3 バケット "csv-upload-for-qchat-2025" にアップロードします。

S3 バケットに CSV ファイルをアップロードする

Amazon Q に日本語で依頼する

 CSV ファイルの中身に関して、Amazon Q に日本で解析を依頼してみます。マネジメントコンソールの画面右上の六角形の Q のアイコンをクリックして右下の入力ボックスに入力します。

質問 1


CSV ファイル "s3://csv-upload-for-qchat-2025/2025-06-sales-report.csv" を解析し、2025 年 6 月の全店舗の商品カテゴリーごとの総売上を教えてください。


6 月の各商品カテゴリーの総売上を確認

 Amazon Q が確認している途中経過が表示されます。

途中経過が表示される

 結果が表示されました。

結果が表示される

回答 1

 以下、上記のキャプチャの内容です。まず、売上高を合計してくれています。バラエティショップが最も高い売上だったこと、また、3 つのカテゴリーの売上は比較的近い数値で、安定した業績を示している、という簡単な分析もしてくれました。


2025年6月の全店舗における商品カテゴリーごとの総売上は以下の通りです:

商品カテゴリー別総売上(2025年6月):

  1. バラエティ(上野店): ¥4,660,787
  2. ファッション(渋谷店): ¥4,644,944
  3. 食品(新宿店): ¥4,516,311

分析結果:

  • バラエティカテゴリーが最も高い売上を記録しました
  • 3つのカテゴリーの売上は比較的近い数値で、安定した業績を示しています
  • 各カテゴリーは専門店舗で販売されています:
    • ファッション商品:渋谷店
    • 食品:新宿店
    • バラエティ商品:上野店

データは、ap-northeast-1 リージョンのS3バケット「csv-upload-for-qchat-2025」にあるCSVファイルから取得されており、月を通じて各カテゴリーで安定した日次売上を示しています。


DynamoDB

テーブルの作成とデータ準備

  S3 の次は、DynamoDB で試します。"sales-report" というテーブルを作成し、先ほどの CSV データと同じ内容のデータを入れます。

sales-report テーブルを用意する

テーブル構成

属性名 説明
store_id 店舗 ID (1=ファッション、2=食品、3=バラエティ)
date 売上日 (YYYY-MM-DD)
store_name 店舗名
category 商品カテゴリ
sales 1日の売上合計 (円)

Amazon Q に日本語で依頼する

 DynamoDB のテーブルのデータに関して、Amazon Q に日本語で分析を依頼します。先ほどと同じくマネジメントコンソールの画面右上の六角形の Q のアイコンをクリックして右下の入力ボックスに入力します。

質問 2


ap-northeast-1 リージョンの DynamoDB テーブル "sales-report" を分析し、2025 年 6 月に最も高い日次売上を記録した店舗の店舗名、日付、対応する売上金額を教えてください。


6 月に最も高い日次売上を記録した店舗を確認

 先ほどと同じく Amazon Q が確認している途中経過が表示されます。

途中経過が表示される

 結果が表示されました。

結果が表示される

回答 2

 以下、上記のキャプチャの内容です。1 番の 6/12 の新宿店の件はもちろんのこと、特に依頼していませんが、参考として 2 番目の 6/22 の上野店についても言及してくれています。


ap-northeast-1 リージョンのDynamoDBテーブル「sales-report」を分析した結果、2025年6月に最も高い日次売上を記録した店舗の情報は以下の通りです:

店舗名: 新宿店(Shinjuku) 日付: 2025年6月12日 売上金額: ¥219,487

この記録は、データベース内の3つの店舗(渋谷、新宿、上野)の中で、6月中の最高単日売上となっています。参考として、上野店も6月22日に¥217,662という高い売上を記録していましたが、新宿店の6月12日の記録がその月の最高値でした。


CloudWatch Logs

事前準備

Lambda 関数を作成

 最後に CloudWatch Logs のデータも試します。まずは、テスト用に Lambda 関数を作成し、CloudWatch Logs に記録されるようにしておきます。

S3 にファイルがアップロードされたら実行される Lambda 関数を作成

S3 にファイルをアップロード

 先ほどの Lambda 関数で指定した S3 バケットにファイルをアップロードします。

S3 にファイルをアップロードする

CloudWatch Logs に記録されたか確認

 S3 にファイルをアップロードしたことで、Lambda が実行されます。実行結果が想定通り CloudWatch Logs に記録されているかを確認します。

CloudWatch Logs に記録されているか確認

Amazon Q に日本語で依頼する

 先ほどの CloudWatch Logs 内で Lambda 実行が完了した際に "END" という文字がが記録されています。直近 30 分間でいくつ記録されているか、確認を依頼してみます。5 ファイルアップロードしているので、5 つという結果が予想されます。

質問 3


ap-northeast-1 リージョンの CloudWatch Logs のロググループ "/aws/lambda/GetS3Object" のログストリームに "END" を含む文字がいくつあるか教えてください。また、検索期間は過去30分に制限してください。


直近 30 分以内で "END" がいくつ記録されているか確認

 先ほどと同じく Amazon Q が確認している途中経過が表示されます。

途中経過が表示される 1

 今回は途中経過が長いです。裏でいろいろなツールを使って確認しているようです。

途中経過が表示される 2

 結果が表示されましたが、エラーでした。実は英語で試していた時も、今回と同じ log_events tool、logs_multi tool というツールを利用している段階で "技術的な問題発生エラー" になりました。その際も「しばらく待ってから再度実行するか、記載の代替手段で確認するように。」という指示が表示されました。

log_events tool、logs_multi tool でエラー

回答 3


filter_log_events ツールの呼び出し中にエラーが発生しました
検索_ログ_マルチツールを呼び出しているときにエラーが発生しました

申し訳ございませんが、現在CloudWatch Logsへのアクセスに技術的な問題が発生しているようです。

調査結果の要約:
ap-northeast-1 リージョンのCloudWatch Logsロググループ "/aws/lambda/GetS3Object" で過去30分間の"END"文字列の検索について、現在技術的な問題によりログの詳細な検索ができない状況です。

代替手段として以下をお試しください:

1. AWSコンソールでの直接確認:

  • CloudWatch Logsコンソールにアクセス
  • ap-northeast-1 リージョンでロググループ "/aws/lambda/GetS3Object" を選択
  • 検索機能で "END" を検索
  • 時間範囲を過去30分に設定

2. CloudWatch Logs Insightsの使用:

…(省略)

数分後に再度お試しいただくか、上記の代替手段をご利用ください。


 ということで、CloudWatch Logs のデータ確認機能については、一時的な問題で現時点(2025 年 8 月 1 日)では確認ができなかったため、またの機会に試したいと思います!

まとめ

 今回は「Amazon Q Developer のサービスデータクエリ機能」を使って、マネジメントコンソールで、S3、DynamoDB、CloudWatch Logs のデータを Amazon Q に分析してもらいました。
 マネジメントコンソールの Q チャットから気軽にデータの分析までできるので、とても便利な機能かと思います!
 まだ発表されて日が浅いためか、今回の CloudWatch Logs のようにエラーとなることもありますが、おそらくしばらく待てば、安定して確認ができるようになるのではないでしょうか?
 Amazon Q Developer は日々進化しているようなので、今後の展開が楽しみです!
 
 いや〜、Amazon Q Developer って本当にいいものですね!
 

坂本 知子(記事一覧)

サーバーワークスのこけしの人(@t_sakam)。2024 Japan AWS Ambassadors、2020 APN AWS Top Engineers。