teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ハンドラーと、ログについて追記

2020/01/07 02:58

投稿

Umeeeh
Umeeeh

スコア1493

answer CHANGED
@@ -1,18 +1,28 @@
1
- KinesisがLambda関数を呼ぶわけではありません。
2
- AWS Lambda が Kinesisのストリームを監視して、新しいレコードが検出されるとLambda関数を呼び出します。
1
+ KinesisがLambda関数を呼ぶわけではなく、AWS Lambda が Kinesisのストリームを監視して、新しいレコードが検出されるとLambda関数を呼び出します。
3
2
 
4
- 試してないので間違ってるかもですが、
3
+ 試してないので間違ってるかもですが、[ListEventSourceMappings](https://docs.aws.amazon.com/lambda/latest/dg/API_ListEventSourceMappings.html) APIを使って、EventSourceArn に Kinesis ストリームの ARN を指定すればリストアップされるのではないかと思いますので、試してみてください。
5
4
 
6
- [ListEventSourceMappings](https://docs.aws.amazon.com/lambda/latest/dg/API_ListEventSourceMappings.html) APIを使って、EventSourceArn に Kinesis ストリームの ARN を指定すればリストアップされるのではないかと思いますので、試してみてください。
7
-
8
5
  以下、AWS CLIの例です。
9
6
 
10
-
11
-
12
7
  ```
13
8
  aws lambda list-event-source-mappings --event-source "arn:aws:kinesis:REGION:AWSACCOUNT:stream/KINESISSTREAM"
14
9
  ```
15
10
 
16
11
  引数の --event-source は、Kinesis ストリームのARNです。
17
12
 
18
- ※もしかしたら、`--function-name FUNCTION名` のオプションが必要かもしれません。その時は`aws lambda list-functions` の結果から 関数名を取得して、順次、`list-event-source-mappings` を呼び出すなどしてください。)
13
+ ※もしかしたら、`--function-name FUNCTION名` のオプションが必要かもしれません。その時は`aws lambda list-functions` の結果から 関数名を取得して、順次、`list-event-source-mappings` を呼び出すなどしてください。)
14
+
15
+
16
+ Lambdaがコードを呼び出す際ハンドラーを呼び出します。ハンドラーは次の構文です。
17
+ ご参考)https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-programming-model-handler-types.html
18
+
19
+ ```
20
+ def handler_name(event, context):
21
+ ...
22
+ return some_value
23
+ ```
24
+
25
+ 処理のトレースは、ログを見るか、X-Ray SDK を使ってみると良いと思います。
26
+ ドキュメントはこの辺↓です。
27
+ https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-logging.html
28
+ https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-tracing.html