ヤマムギ

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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

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

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

 - AWS , ,

ad

ad

  関連記事

百聞は一見にしかず!AWSセルフペースラボの無料ラボ!

※2019年5月12日現在に試してみた記録です。 AWSセルフペースラボとは A …

AWS WAF Web ACLとルールをv1(Classic)からv2に自動移行しました

新しいものは、課題が解決されていたり、機能追加されたりするのでいいものです。 長 …

AWS CLIを使用せずにCodeCommitへhttpsで接続する

AWS CLIやアクセスキーID、シークレットアクセスキーなどを開発環境にセット …

AWS Cloud9で環境を共有する

(特にリモート環境では)画面共有をしたり、リポジトリを共有したり、コーディング環 …

RDSの証明書をrds-ca-2019に更新しました

クライアント接続で署名書使ってないので、必要ないのですが、古いままなのも気持ち悪 …

Systems Manager パッチマネージャでベースラインを作成して適用する

ベースラインの作成 Systems Managerのパッチマネージャーでパッチベ …

EC2 Global Viewで不要なインスタンスを見つけて4つほど終了しました

EC2 Global Viewという機能がリリースされました。 EC2コンソール …

EC2 Amazon Linux 2 にAmazon LinuxからWordPressを移行

このブログを新しいインスタンスに移行することにしました。 2015年5月にAma …

AWS Toolkit for Eclipseをセットアップ(2021年版)

AWS Toolkit for Eclipseをセットアップするで6年前に書いて …

ads.txtをS3に配置してCloudFrontで設定する

ads.txtのダウンロード ads.txt設置してねってメールが来てました。 …