【问题标题】:ansible sns - why is subscriber optionalansible sns - 为什么订阅者是可选的
【发布时间】:2018-03-29 14:45:00
【问题描述】:

当我通过 aws 控制台或 aws cli 将 lambda 函数订阅到 SNS 主题时,订阅信息中会显示一个名为“subscriber”的列。它确实包含我的帐户 ID。

我似乎无法通过 cli 或控制台控制此字段,但我可以通过 ansible:

---
- name: set up topic and subscribe lambda
  sns_topic:
      name: "topic_name"
      state: present
      display_name: "Display Name"
      subscriptions:
        - endpoint: "arn:aws:lambda:ap-southeast-2:123456789:function:functionName"
          protocol: "lambda"
          subscriber: 123456789

subscriber 字段是可选的,但是没有它,SNS 消息似乎无法到达 lambda。

  • 这个字段有什么用?
  • 我可以将其他帐户中的 Lambda 订阅到我的 SNS 主题吗?
  • 如何使用 AWS CLI 更改此字段?
  • 为什么它在 Ansible 2.4 中是可选的

【问题讨论】:

    标签: amazon-web-services ansible aws-lambda amazon-sns


    【解决方案1】:

    找不到对 ghost 字段(即订阅者)的引用。
    也许它在较旧的 sdk/api 中得到支持,现在已被删除。

    研究:

    1. 订阅 lambda 时,我在控制台中看不到订阅者字段。下图

    1. 即使通过 CLI,也没有此类字段
      Link 用于通过 CLI 文档的 SNS 订阅命令。

    [额外研究]:即使是java sdk也只要求三个参数才能订阅

     subscribe(String topicArn, String protocol, String endpoint)
    

    Java 文档link

    【讨论】:

    • 我正在使用 Ansible 2.3.0.0,这是代码,但是我找不到 2.3.0.0 github.com/ansible/ansible-modules-extras/blob/stable-2.2/cloud/… 的相应分支或标签,如果我没有通过订阅者,我当然可以重现字段,我的订阅不起作用
    • 也许我需要将此作为 Ansible 的错误提出
    • 对不起,我以为我是最新的,但升级到 Ansible 2.4.3.0-1 解决了这个问题。不再需要订阅者字典条目
    • 太棒了! :)
    猜你喜欢
    • 1970-01-01
    • 2017-11-05
    • 2018-07-27
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2018-05-08
    • 2021-02-19
    • 2019-01-08
    相关资源
    最近更新 更多