🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

関数型プログラミング

関数型プログラミングとは、関数を用いて演算子を構築し、算出し、コンピュータプログラムを構成する枠組みです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

1315閲覧

AWA kinesis→Lamdbaへの動作がわからない

pokemonta

総合スコア170

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

関数型プログラミング

関数型プログラミングとは、関数を用いて演算子を構築し、算出し、コンピュータプログラムを構成する枠組みです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2019/12/19 05:14

編集2019/12/20 07:31

kinesisからLamdbaへ連携する社内システムがあります。
このシステムにおいて以下のことがわかりませんので調べ方を
教えて頂けないでしょうか

・kinesisがどのLamdbaを呼ぶかわかりません。
kinesisのストリーム名はわかっており、kinesisのコンソールから
次にどのLamdbaを叩くかがわかりませんでした。逆にLamdbaのコンソールから
どのkinesisから連携されるかわわかります。但し、Lamdbaの数が多いので大変です。

・実行されるLamdbaがわかったとして、Lamdba関数のどの部分が実行されるか
わかりません。Lamdbaコンソールを開くとデフォルトでmain.pyが表示されており
これが実行されると思うのですがdefが複数定義されており、どれが実行されるか
わかりません。上から全て実行されるのでしょうか?
ちなみに一番上のdefは、引数が指定していされているのですが
この値をkinesisから取得する処理がわかりませんでした。

・Lambda関数をトレース、デバックする方法がわかりません

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

KinesisがLambda関数を呼ぶわけではなく、AWS Lambda が Kinesisのストリームを監視して、新しいレコードが検出されるとLambda関数を呼び出します。

試してないので間違ってるかもですが、ListEventSourceMappings APIを使って、EventSourceArn に Kinesis ストリームの ARN を指定すればリストアップされるのではないかと思いますので、試してみてください。

以下、AWS CLIの例です。

aws lambda list-event-source-mappings --event-source "arn:aws:kinesis:REGION:AWSACCOUNT:stream/KINESISSTREAM"

引数の --event-source は、Kinesis ストリームのARNです。

※もしかしたら、--function-name FUNCTION名 のオプションが必要かもしれません。その時はaws lambda list-functions の結果から 関数名を取得して、順次、list-event-source-mappings を呼び出すなどしてください。)

Lambdaがコードを呼び出す際ハンドラーを呼び出します。ハンドラーは次の構文です。
ご参考)https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-programming-model-handler-types.html

def handler_name(event, context): ... return some_value

処理のトレースは、ログを見るか、X-Ray SDK を使ってみると良いと思います。
ドキュメントはこの辺↓です。
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-logging.html
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-tracing.html

投稿2020/01/07 02:49

編集2020/01/07 02:58
take88

総合スコア1467

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問