如何使用 terraform 创建 IBM Cloud Event Streams 触发器?

Posted

技术标签:

【中文标题】如何使用 terraform 创建 IBM Cloud Event Streams 触发器?【英文标题】:How to create IBM Cloud Event Streams trigger with terraform? 【发布时间】:2021-12-18 14:22:00 【问题描述】:

我有一个名为 myKafka 的 Event Streams 实例(具有一个名为 myTopic 的适当主题)和一个名为 myAction 的 IBM Cloud Function 操作。当消息到达myKafka 的主题时,我想触发myAction。我必须在 terrafrom 中写下这个关系。我检查了this documentation,但它只显示警报触发的示例,而不是基于事件流。所以我的问题是如何用 terrafom 创建它?

我正在尝试以下方法:

resource "ibm_function_trigger" "myTrigger" 
  name      = "myTrigger"
  namespace = "myNameSpace"
  feed 
    name = "???"
      parameters = <<EOF
        [
          
            "key":"???",
            "value":"???"
          ,
          
            "key":"???",
            "value":"???"
          
        ]
      EOF
  

我真的不知道应该在问号的位置放什么。我希望 myKafka 实例和 myTopic 应该与 myAction 一起传递,但无法确定提要的名称和具有适当值的键。

【问题讨论】:

您可以使用 CLI 或 UI 定义该触发器,然后使用 TF 数据源将其读出。 【参考方案1】:

我终于用这个配置成功了:

resource "ibm_function_trigger" "myTrigger" 
  name      = "myTrigger"
  namespace = "myNameSpace"
  feed 
    name = "/whisk.system/messaging/messageHubFeed"
      parameters = <<EOF
        [
          
            "key":"kafka_brokers_sasl",
            "value":<MY_KAFKA_BROKERS_SASL>
          ,
          
            "key":"user",
            "value":"<MY_USERNAME>"
          ,
          
            "key":"password",
            "value":"<MY_PASSWORD>"
          ,
          
            "key":"topic",
            "value":"myTopic"
          ,
          
            "key":"kafka_admin_url",
            "value":"<MY_KAFKA_ADMIN_URL>"
          
        ]
      EOF
  

密钥和/whisk.system/messaging/messageHubFeed 很重要。

【讨论】:

以上是关于如何使用 terraform 创建 IBM Cloud Event Streams 触发器?的主要内容,如果未能解决你的问题,请参考以下文章

使用IBM Cloud Schematics部署云资源

使用IBM Cloud Schematics部署云资源

使用IBM Cloud Schematics部署云资源

使用IBM Cloud Schematics部署云资源

如何在 ibm_cloud 上的 db2 中编写 sql 查询

terraform如何创建数据盘