当前位置: 首页 > 知识库问答 >
问题:

我可以从Lambda函数中使用AWS MSK kafka主题吗?

慕容灿
2023-03-14

我认为使用lambda来消费到达AWS MSK Kafka集群中某个主题的消息很简单,但我无法从AWS文档中找到这样做的方法。在某种程度上可能吗?

共有1个答案

隗瑞
2023-03-14

对您可以在Lambda代码中使用Kafka客户端库。下面是Python的示例:

#!/bin/env python

import json
import logging
import time
import os
from kafka import KafkaConsumer               


"""
Read data from MSK and console it out.

Required environment variables:
MSK_BOOTSTRAP_SRV: MSK Bootstrap servers. 
MSK_TOPIC_NAME: MSK topic. 

"""
kafka_client = None
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)

def lambda_handler(event, context):
    logger.debug('MSK consumer starts.')
    try:
        consumer = KafkaConsumer(os.environ['MSK_TOPIC_NAME'], auto_offset_reset='earliest',
                             bootstrap_servers=os.environ['MSK_BOOTSTRAP_SRV'], api_version=(0, 10), consumer_timeout_ms=1000)
        
        for msg in consumer:
            print(msg.value)

        if consumer is not None:
            consumer.close()
            
    except Exception as ex:
        logger.error('Exception: {}'.format(ex))
    return
 类似资料:
  • 我为我的项目从包含的ReadtheDocs主题切换到bootswatch United主题。我为这个主题做了一个,并在我的文件中将更改为。 然而,尽管项目在Read the Docs中成功构建,文档仍然保留了标准的readthedocs主题。当我在本地运行它(使用< code>mkdocs serve)时,它正确地显示了United主题。 是否还有其他代码行我应该在某处调整?我应该添加的需求文件?

  • 问题内容: 我们可以从SQL中的函数调用存储过程吗?什么原因? 问题答案: 是的。 您可以进行一些修改,但是不建议这样做,因为它会打开新的连接。

  • 问题内容: 我可以在mysql中使用聚合函数(LAST)吗? 如果是,那么为什么给我以下查询错误: 错误 ::您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’()FROM group by ‘ 附近使用正确的语法 编辑 ::我得到答案“最后一个”不在MySql中使用。那么如何在MySql中执行呢? 问题答案: 不,在mysql中没有所谓的LAST 查看汇总函数列表

  • 下面是一个完整的Elm脚本,它将一组元组放入HTML

  • 我需要从AWS SES获取消息,并将其发布到AWS MSK(Kafka)主题。这可能吗?我目前的理解是,所有MSK客户端必须生活在同一个VPC中。如何适当地配置Lambda函数?

  • 目前,在Python中,函数的参数和返回类型可以提示如下: 这表明该函数接受两个字符串,并返回一个整数。 然而,该语法与lambda非常混淆,后者看起来像: 我尝试过在参数和返回类型上添加类型提示,但我无法找出不会导致语法错误的方法。 是否可以键入提示lambda函数?如果没有,是否计划键入提示lambda,或者任何原因(除了明显的语法冲突)为什么不呢?