ヤマムギ

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’にしてます。

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


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

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

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

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

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

 - AWS , ,

ad

ad

  関連記事

「JAWS-UG 名古屋 2022年 “re:Invent”の復習~忘年会~」に参加しました

re:Inventのおみやげも飲み物、ピザ、お寿司もたくさん。 コラボベースさん …

Lambda関数で自分自身の環境変数を更新する

Twitterでツイート検索するAPIを試してみるでツイートの取得を重複させない …

AWS Certificate Manager(ACM)メール検証をDNS検証の証明書に差し替えました

ブログの証明書 このブログの証明書の有効期限があと1週間です。 証明書はAWS …

CloudFormationスタックポリシーでスタック更新を防止する

CloudFormationのスタックにスタックポリシーを設定することによって、 …

RDSリザーブドDBインスタンスを購入しました

リザーブドインスタンス推奨事項を確認したで確認した結果、購入したほうがよさそうで …

AWS Control TowerにOUを追加する

AWS Control TowerにOUを追加する 管理アカウントでAWS Co …

Amazon SESでメール受信

Amazon SES(Simple Email Service)にメールドメイン …

CUSTOMINEを使ってkintoneからAWS Lambdaを実行する(Cognito認証付き)

先日の記事「kintoneのカスタマイズ開発を超速にするCUSTOMINE」で書 …

Amazon LinuxにRedmine をインストールする(手順整理版)

Amazon LinuxにRedmineをインストールしました手順を記載します。 …

AWS Systems Manager Session ManagerでLinuxインスタンスのRun Asサポートを有効にする

AWS Systems Manager Session Managerの設定画面 …