Rah*_*and 15 python django apache-kafka
我想将输入从Django 传递到 Kafka。我有字段a,b,c,d和h1,h2和h3。所有字段均由用户输入。我想在用户在 Django 前端界面上输入提交按钮后立即启动 Kafka 进程。所有字段都保存在Mysql中。
我只能使用 Mysql 连接器在 Java 中找到可能的解决方案。
有没有任何方法或连接器可以让我使用 python 将 Django 界面上的用户输入传递到 kafka?
a、b、c、d - 访问令牌
h1,h2,h3 - 搜索查询(关键字)
小智 13
首先安装kafka-python,然后在views.py.
from kafka import KafkaProducerfrom kafka import KafkaConsumerfrom json import loadsimport jsonimport pickle //pickle converts data into byte array然后编写Producer视图如下。
这段代码将数据转换为字节数组并发送给kafka。您可以发送数据,如 v=your data,而不是发送 json 消息 v。
def kfk(request):
producer = KafkaProducer(bootstrap_servers='127.0.0.1:9092')
v = {
'msg': {
'hello': 'world',
},
}
serialized_data = pickle.dumps(v, pickle.HIGHEST_PROTOCOL)
producer.send('Ptopic', serialized_data)
return HttpResponse(200)
Run Code Online (Sandbox Code Playgroud)
消费数据:
def cons(request):
consumer = KafkaConsumer('Ptopic',
bootstrap_servers=['localhost:9092'],
api_version=(0, 10)
#,consumer_timeout_ms=1000
)
for message in consumer:
deserialized_data = pickle.loads(message.value)
print(deserialized_data)
Run Code Online (Sandbox Code Playgroud)
注意:Kafka 消费者视图应始终处于运行模式,然后尝试在此处生成 Ptopic 是我的主题名称。
是的,只需使用 kafka-python 包中的 KafkaProducer 就可以了。
pip install kafka-python
然后在你的 Django 函数中:
def myfunc(request):
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='kafkaBroker:9092')
producer.send('foobar', b'test')
return HttpResponse(200)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20056 次 |
| 最近记录: |