ヤマムギ

growing hard days.

*

Amazon CloudSearchにAWS Lambda(Python)からデータをアップロードする

   

このブログはゆるっとアドベントカレンダー Advent Calendar 2018に参加しました。

Alexaスキルを作るにあたって全文検索できたほうがいいかなあと思いまして、実装してみました。
でも、全文検索だと戻る量が多くなってしまうので、DyanmoDBのソートキーを使って前方一致のほうが望ましいかと思い直しているところです。

せっかくやってみたので書き残しておきます。

構成はこちらの日次でCloudSearchにデータをアップロードしているところです。

Amazon CloudSearch

ドメインを新規作成して、course_codeとcourse_nameという2つのフィールドを作りました。

AWS Lambda

IAMロールはもちろんCloudSearchへのアップロードが必要です。

  • CloudSearchドメインのエンドポイントは環境変数に設定しています。
  • トリガーはDyanmoDBで新規のアイテムのみを対象にしています。
  • boto3.clientはcloudsearchdomainです。
  • documentsでCloudSearchへの操作をJsonで新規アイテムの数だけ配列にしています。
  • upload_documentsでcontentTypeを’application/json’にしてます。

これで、データが追加されて、全文検索できました!!


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

  関連記事

「CMC_Central 2024」に参加しました

個人サポーターとしてCMC_Central 2024に参加しました。 オープニン …

AWS Managed Microsoft ADを構築してユーザー追加まで

事前準備 DNSホスト名と名前解決を有効にしたVPCを作成して、2つのAZにパブ …

Route 53のホストゾーンにサブドメインを登録する

親ドメインを移行しないでサブドメインの DNS サービスを Amazon Rou …

SIEM on Amazon OpenSearch Serviceを構築

このブログまわりのモニタリングをSIEM on Amazon OpenSearc …

Systems Manager デフォルトのホスト管理設定(Default Host Management Configuration)を確認しました

2023/2/17のアップデートAWS Systems Manager をアカウ …

ハンズオン: IAMロール、Secrets Manager、KMS ~AWS認定デベロッパーアソシエイト(DVA-C02)~

このブログは2026年6月29日翔泳社さんより発売される「AWS教科書 AWS認 …

AWS Lambda(Python)からTwitterに投稿する

「GoogleフォームからAPI Gatewayで作成したREST APIにPO …

ParquetフォーマットのデータにS3 Select SQLを実行する

RDSスナップショットのS3エクスポート結果確認で出力したデータが、S3にPar …

EC2スポットインスタンスの中断通知を受ける

オートスケーリンググループでEC2インスタンスをスポットインスタンスで使用してい …

EC2 Ubuntu DesktopにRDP

Ubuntu Desktopが必要になりましたので、こちらのAWS EC2でデス …