Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
pulsar
提交
01f0d350
pulsar
项目概览
apache
/
pulsar
通知
129
Star
40
Fork
3
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Wiki
1
Wiki
分析
仓库
DevOps
项目成员
Pages
pulsar
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Pages
分析
分析
仓库分析
DevOps
Wiki
1
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
提交
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
01f0d350
编写于
2月 13, 2019
作者:
M
Matteo Merli
提交者:
GitHub
2月 13, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixed getting message properties map in Python client (#3595)
上级
cecf8e77
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
1 deletion
+34
-1
pulsar-client-cpp/python/pulsar_test.py
pulsar-client-cpp/python/pulsar_test.py
+25
-0
pulsar-client-cpp/python/src/message.cc
pulsar-client-cpp/python/src/message.cc
+9
-1
未找到文件。
pulsar-client-cpp/python/pulsar_test.py
浏览文件 @
01f0d350
...
...
@@ -140,6 +140,31 @@ class PulsarTest(TestCase):
consumer
.
unsubscribe
()
client
.
close
()
def
test_message_properties
(
self
):
client
=
Client
(
self
.
serviceUrl
)
topic
=
'my-python-test-message-properties'
consumer
=
client
.
subscribe
(
topic
=
topic
,
subscription_name
=
'my-subscription'
,
schema
=
pulsar
.
schema
.
StringSchema
())
producer
=
client
.
create_producer
(
topic
=
topic
,
schema
=
StringSchema
())
producer
.
send
(
'hello'
,
properties
=
{
'a'
:
'1'
,
'b'
:
'2'
})
msg
=
consumer
.
receive
()
self
.
assertTrue
(
msg
)
self
.
assertEqual
(
msg
.
value
(),
'hello'
)
self
.
assertEqual
(
msg
.
properties
(),
{
'a'
:
'1'
,
'b'
:
'2'
})
consumer
.
unsubscribe
()
client
.
close
()
def
test_tls_auth
(
self
):
certs_dir
=
'/pulsar/pulsar-broker/src/test/resources/authentication/tls/'
if
not
os
.
path
.
exists
(
certs_dir
):
...
...
pulsar-client-cpp/python/src/message.cc
浏览文件 @
01f0d350
...
...
@@ -66,6 +66,14 @@ boost::python::object Message_data(const Message& msg) {
return
boost
::
python
::
object
(
boost
::
python
::
handle
<>
(
PyBytes_FromStringAndSize
((
const
char
*
)
msg
.
getData
(),
msg
.
getLength
())));
}
boost
::
python
::
object
Message_properties
(
const
Message
&
msg
)
{
boost
::
python
::
dict
pyProperties
;
for
(
const
auto
&
item
:
msg
.
getProperties
())
{
pyProperties
[
item
.
first
]
=
item
.
second
;
}
return
pyProperties
;
}
std
::
string
Topic_name_str
(
const
Message
&
msg
)
{
std
::
stringstream
ss
;
ss
<<
msg
.
getTopicName
();
...
...
@@ -115,7 +123,7 @@ void export_message() {
;
class_
<
Message
>
(
"Message"
)
.
def
(
"properties"
,
&
Message
::
getProperties
,
return_value_policy
<
copy_const_reference
>
()
)
.
def
(
"properties"
,
&
Message
_properties
)
.
def
(
"data"
,
&
Message_data
)
.
def
(
"length"
,
&
Message
::
getLength
)
.
def
(
"partition_key"
,
&
Message
::
getPartitionKey
,
return_value_policy
<
copy_const_reference
>
())
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录