Use terraform to set up a lambda function triggered by a scheduled event source

Vebjorn Ljosa :

I would like to run an AWS lambda function every five minutes. In the AWS Management Console this is easy to set up, under the lambda function's "Event Sources" tab, but how do I set it up with Terraform?

I tried to use an aws_lambda_event_source_mapping resource, but it turns out that the API it uses only supports events from Kinesis and DynamoDB. When I try to use it with a scheduled event source, creation times out.

Vebjorn Ljosa :

You can use an aws_cloudwatch_event_target resource to tie the scheduled event source (event rule) to your lambda function. You need to grant it permission to invoke your lambda function; you can use an aws_lambda_permission resource for this.

Example:

resource "aws_lambda_function" "check_foo" {
    filename = "check_foo.zip"
    function_name = "checkFoo"
    role = "arn:aws:iam::424242:role/something"
    handler = "index.handler"
}

resource "aws_cloudwatch_event_rule" "every_five_minutes" {
    name = "every-five-minutes"
    description = "Fires every five minutes"
    schedule_expression = "rate(5 minutes)"
}

resource "aws_cloudwatch_event_target" "check_foo_every_five_minutes" {
    rule = "${aws_cloudwatch_event_rule.every_five_minutes.name}"
    target_id = "check_foo"
    arn = "${aws_lambda_function.check_foo.arn}"
}

resource "aws_lambda_permission" "allow_cloudwatch_to_call_check_foo" {
    statement_id = "AllowExecutionFromCloudWatch"
    action = "lambda:InvokeFunction"
    function_name = "${aws_lambda_function.check_foo.function_name}"
    principal = "events.amazonaws.com"
    source_arn = "${aws_cloudwatch_event_rule.every_five_minutes.arn}"
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Scheduled and triggered jobs in Azure

分類Dev

Terraform - Use data source output in variable default

分類Dev

Cloud function for firestore onWrite event very rarely not triggered by a document update

分類Dev

Lambda function behavior with schedule event after deploy

分類Dev

onKeyDown() event not triggered when in DialogFragment

分類Dev

terraform azurerm_scheduled_query_rules_log

分類Dev

Cancel window event if node event is also triggered

分類Dev

what ip AWS lambda function use?

分類Dev

terraform reporting error "cannot use element function with an empty list"

分類Dev

Terraform - Conditional Data Source

分類Dev

Can I programmatically determine if an Airflow DAG was scheduled or manually triggered?

分類Dev

How to set up an event listener and remove it after first fired event using react hooks?

分類Dev

lambda@edge not getting triggered with cloudfront

分類Dev

How to run a scheduled Function in Java?

分類Dev

why does my Action event is not being triggered?

分類Dev

Determine which element triggered a form submit event

分類Dev

Determine which element triggered a form submit event

分類Dev

Safari Only CSS Hover Event Not Triggered on Drag

分類Dev

Get the element (node) which triggered an event

分類Dev

Scroll event is triggered after Task Delay

分類Dev

jquery ajax data was send but no success event is triggered

分類Dev

Is it safe to use +load in a dynamic framework to set up a quick WKNavigationDelegate?

分類Dev

How to set up and use the Kin blockchain in a Unity app - Step by step

分類Dev

Exclude a file in terraform module source

分類Dev

use set find function, no operator found

分類Dev

AWS SNS - How to get subscriber lambda triggered by publisher lambda output

分類Dev

Event binding with Static Ancestors leads to every click event being triggered

分類Dev

how to use mysq transaction commit rollback in Lambda function using nodeJs

分類Dev

Use lambda function in new switch c# 8.0 to return value

Related 関連記事

  1. 1

    Scheduled and triggered jobs in Azure

  2. 2

    Terraform - Use data source output in variable default

  3. 3

    Cloud function for firestore onWrite event very rarely not triggered by a document update

  4. 4

    Lambda function behavior with schedule event after deploy

  5. 5

    onKeyDown() event not triggered when in DialogFragment

  6. 6

    terraform azurerm_scheduled_query_rules_log

  7. 7

    Cancel window event if node event is also triggered

  8. 8

    what ip AWS lambda function use?

  9. 9

    terraform reporting error "cannot use element function with an empty list"

  10. 10

    Terraform - Conditional Data Source

  11. 11

    Can I programmatically determine if an Airflow DAG was scheduled or manually triggered?

  12. 12

    How to set up an event listener and remove it after first fired event using react hooks?

  13. 13

    lambda@edge not getting triggered with cloudfront

  14. 14

    How to run a scheduled Function in Java?

  15. 15

    why does my Action event is not being triggered?

  16. 16

    Determine which element triggered a form submit event

  17. 17

    Determine which element triggered a form submit event

  18. 18

    Safari Only CSS Hover Event Not Triggered on Drag

  19. 19

    Get the element (node) which triggered an event

  20. 20

    Scroll event is triggered after Task Delay

  21. 21

    jquery ajax data was send but no success event is triggered

  22. 22

    Is it safe to use +load in a dynamic framework to set up a quick WKNavigationDelegate?

  23. 23

    How to set up and use the Kin blockchain in a Unity app - Step by step

  24. 24

    Exclude a file in terraform module source

  25. 25

    use set find function, no operator found

  26. 26

    AWS SNS - How to get subscriber lambda triggered by publisher lambda output

  27. 27

    Event binding with Static Ancestors leads to every click event being triggered

  28. 28

    how to use mysq transaction commit rollback in Lambda function using nodeJs

  29. 29

    Use lambda function in new switch c# 8.0 to return value

ホットタグ

アーカイブ