ヤマムギ

growing hard days.

*

AWS LambdaでS3 Select

      2020/06/06

RDSスナップショットをS3にエクスポートした、ParquetフォーマットのデータにAWS LambdaでS3 Selectを実行してみました。

ParquetフォーマットのデータにS3 Select SQLを実行するでマネジメントコンソールで試したことをAWS Lambda(Python)から実行しました。

実行したコードと結果

結果出力

元データはこのブログのRDSスナップショットですので、年間記事件数を出してみました。
過去最高は2018年の120本で、今年はすでに110本を超えてますので、過去最高になりそうです。
去年がサボりすぎでしたので反省。

IAMロールの権限

S3は対象オブジェクトに対してのGetObjectがselectリクエストには必要です。

他は、RDSスナップショットのエクスポート時にKMSで暗号化してましたので、KMSへの権限も必要です。

ですので、AWS管理ポリシーのAWSLambdaBasicExecutionRoleと、以下の2つのインラインポリシーを設定しました。

s3:GetObject

selectの実行にListBucketは必要ありませんが、指定したオブジェクトが見つからない場合に「An error occurred (NoSuchKey) when calling the SelectObjectContent operation: The specified key does not exist.」を出力するためです。
ListBucketがないと、「An error occurred (AccessDenied) when calling the SelectObjectContent operation: Access Denied」となってしまい切り分けが難しくなります。

bucketname/*としてますが、もちろん特定のプレフィックスやオブエジェクトでもOKです。

kms:Decrypt

暗号化に使ったキーを指定しています。


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

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

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

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

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

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

 - AWS , ,

ad

ad

  関連記事

EC2インスタンスが到達不能になって復旧してMackerelで監視し始めた

きっとばりばり使っておられる方ならよくある事なんだろうけど、はじめて体験したので …

Pepperで撮影した写真をAmazon Rekognitionで分析してその結果をPepperがしゃべる ~(1)AWS編~

Pepperの機能を使えるところは使って、何かしたいなあと思ってまして。 目(カ …

JAWS DAYS 2018 「Cost-Driven AWS クラウドアーキテクチャデザインとコスト最適化方法 – Cost-Driven AWS Cloud Architecture Design : The Lean Startup on AWS」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

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

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

AWS LambdaのSQSへの自前ポーリングをやめてSQSイベントソーストリガーに変更した

以前は、LambdaがSQSからメッセージを受信するには、キューをポーリングして …

AWS Summit 2016 Tokyoに参加してきました (Day2)

馬込は非常に良い天気です。 泊まっている部屋が2Fでしたので窓を明けると歩いてい …

AWS Systems Managerパラメータストアで「Parameter name must be a fully qualified name.」

パラメータストアでパラメータ階層を作成しようとして、パラメータ名に例えば「wor …

Amazon BedrockがGAしたので触りました(boto3からも)

Amazon Bedrock Is Now Generally Availabl …

[JapanTaxi] Athena 指向アナリティクス 〜真面目に手を抜き価値を得よ〜(AWS Summit Tokyo 2017)を聞いてきました

Athenaのユースケースとして聞きにいきましたが、最近触ってるRe:dashも …

slackのbotをAWS Lambda(Python)+API Gatewayで構築

slackで投稿した内容に応じて返信したり調べ物したりしてくれるbotですが、こ …