ヤマムギ

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

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

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

 - AWS , ,

  関連記事

AWS LambdaをVPC設定したときに「The provided execution role does not have permissions to call CreateNetworkInterface on EC2」

The provided execution role does not hav …

JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016 アップデート追っかけ会

「JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo …

AWS Summit 2016 Tokyoに参加してきました (前日 ~ Day1)

AWS Summit 2016 Tokyoにて、セッション聴講、ブース展示拝見、 …

CloudFormation StackSetsでOrganizations組織のアカウントに一気にIAMロールを作成した

Organizationsで管理している各アカウントにIAMロールを作成したい場 …

WordPress W3 Total Cache のDatabaseCacheをAmazon ElastiCacheのmemcachedに格納する

このブログのアーキテクチャは現在こちらです。 データベースは、Amazon Au …

AWSセルフマネージドAD環境にリモートデスクトップで接続

AWSクイックスタートのActive Directory Domain Serv …

AWS CLIからIAM Identity CenterへサインインしてCodeCommitのリポジトリを使用する

Macで操作しました。 AWS CLIバージョンアップ [crayon-69fd …

Amazon SESでメール受信

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

Amazon EC2 インスタンスメタデータサービス(IMDS) v2のみにしました

今さらながらですが、EC2 インスタンスメタデータサービス(IMDS) v2を確 …

別アカウントのVPCからAWS PrivateLinkを使う

VPC エンドポイントサービス (AWS PrivateLink)を参考にしまし …