繁体   English   中英

Terraform 模块创建 AWS SNS 主题订阅

[英]Terraform module to create AWS SNS Topic Subscription

我找不到 terraform 模块来创建 AWS SNS 主题订阅。 例如:我使用“terraform-aws-modules/sns/aws”来创建 SNS 主题。 有人可以指出我订阅的源模块吗?

您应该更喜欢资源而不是模块,除非您有一个复杂的用例,其中涉及许多以通用模式交互的资源。

模块最适合标准化常见模式。 可以为单个资源制作一个模块,但它很少值得开销。

这是一个基于真实系统的工作示例。 这将创建一个 SNS 主题并为其订阅 Lambda function:

resource "aws_sns_topic" "kpis" {
  name = var.sns_topic_name
}

resource "aws_sns_topic_subscription" "invoke_with_sns" {
  topic_arn = aws_sns_topic.kpis.arn
  protocol  = "lambda"
  endpoint  = module.kpis.function_arn
}

resource "aws_lambda_permission" "allow_sns_invoke" {
  statement_id  = "AllowExecutionFromSNS"
  action        = "lambda:InvokeFunction"
  function_name = module.lambda.function_name
  principal     = "sns.amazonaws.com"
  source_arn    = aws_sns_topic.kpis.arn
}

您可以在此处阅读有关aws_sns_topic_subscription的更多信息: https://www.terraform.io/docs/providers/aws/r/sns_topic_subscription.ZFC35FDC70D5FC69D269883A8

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM