ヤマムギ

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 Transit GatewayのVPN接続

上記のような構成で、オンプレミス側は東京リージョンのVPCでVyOSを起動して接 …

RDSの拡張モニタリングを有効にしました

RDS for MySQLです。 変更メニューで、[拡張モニタリングを有効にする …

AWS Certificate Manager証明書とAmazon Route 53でAmazon API GatewayのAPIのカスタムドメイン名前解決する

AWS Certificate ManagerとAmazon Route 53と …

AWS KMSのキーポリシーとアイデンティティベースポリシー

AWS KMSのCMKを作成する際に、管理者とキーユーザーを選択することで、以下 …

TwilioからのリクエストをAPI Gateway+LambdaでTwimlを返して処理する

Twilioで着信した時のリクエスト先としてTwimlをWebサーバやS3で用意 …

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

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

Amazon Route 53 Resolverを設定確認

Route 53 Resolverを設定しました。 東京リージョンのVPCをオン …

Amazon CloudWatch クロスリージョンクロスアカウントダッシュボードを作成

本ブログのCloudFrontとWAFのアカウントと、EC2、RDS、S3などオ …

SCPが影響しないサービスにリンクされたロールにEC2が引き受けるIAMロールは含まれないことを確認

ドキュメントで確認 サービスコントロールポリシーのユーザーガイドには、「SCPは …

Cloud9 Python3でpipも3にする

このブログは、2019/10/20に書いた、 Cloud9のAMIがCloud9 …