【问题标题】:Integrating AMQ with Rest API gateway将 AMQ 与 Rest API 网关集成
【发布时间】:2019-07-14 23:34:03
【问题描述】:

我正在尝试将 AMQ 与 api 网关集成,以便我可以使用 API 网关中的 AWS 资源选项将消息从 api 网关直接推送到 AMQ,并在部署 AWS ARN 以进行集成时收到此错误包含无效操作。

我应该在这里使用什么操作,以便 api gtwway 知道它应该使用哪个 AMQ 来推送消息。

我需要注意什么,以便我可以使用 AMQ 设置 apigateway

【问题讨论】:

    标签: amazon-web-services aws-api-gateway


    【解决方案1】:

    对于将 Amazon MQ 与 API Gateway 集成,您将无法使用“AWS 服务”集成。原因是,“AWS 服务”集成仅在 AWS MQ 管理 API 公开操作以将消息发送到 MQ 代理时才有用。但是,如果您查看 MQ API [1] 公开的操作,它们只提供管理操作。这就是原因,您不能将“AWS 服务”集成用于您的用例。

    因此,如果您的 API 需要连接到 MQ 代理并发送消息,我建议您的 API 需要使用“Lambda 函数”集成。要了解更多信息,我建议使用以下文档 [2]。

    然后您可以实现一个初始化消息生产者并发送消息的 Lambda 函数。具体实现消息生产者和发送消息的源代码请参考[3]中的“步骤2:将Java应用程序连接到您的代理”一节。

    [1]https://docs.aws.amazon.com/cli/latest/reference/mq/index.html

    [2]https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html

    [3]https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/amazon-mq-getting-started.html#connect-java-application

    【讨论】:

    • 感谢您的信息。即使我这么认为。还有其他方法可以直接从 api 网关实现吗?
    • @divyanayan awasthi,没有直接的方法。原因是 AMQ 没有公开 API 来向 Broker 发送消息。因此,您需要设置一个将消息发送到代理的客户端(例如 JMS、MQTT)。这就是我建议使用基于 Java 的 Lambda 函数的原因。
    猜你喜欢
    • 2015-02-27
    • 2022-12-18
    • 1970-01-01
    • 2015-01-16
    • 2017-10-20
    • 2021-07-27
    • 2017-11-29
    • 2014-03-02
    • 1970-01-01
    相关资源
    最近更新 更多