<div dir="ltr">By the way, I have the following error using PBC on Riak 2.0:<div><br></div><div>test.py</div><div>------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------<br>
</div><div><div>import riak</div><div>client = riak.RiakClient(host ='127.0.0.1', http_port = 8098, pb_port = 8087, protocol = 'pbc')</div></div><div><div>bucket = client.bucket_type('counter_bucket').bucket('likes')</div>
<div>counter = bucket.new('Barcelona')</div><div>counter.increment(5)</div></div><div>------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------<br></div>
<div><br></div><div>OUTPUT:</div><div><br></div><div><div>Traceback (most recent call last):</div><div>  File "test.py", line 18, in <module></div><div>    bucket = client.bucket_type('counter_bucket').bucket('likes')</div>
<div>AttributeError: 'RiakClient' object has no attribute 'bucket_type'</div></div><div><br></div><div>What is wrong? I was following the instructions at: <a href="https://raw.githubusercontent.com/basho/basho_docs/2.0.0/source/languages/en/riak/dev/using/data-types.md">https://raw.githubusercontent.com/basho/basho_docs/2.0.0/source/languages/en/riak/dev/using/data-types.md</a></div>
<div><br></div><div>Thanks,</div><div>Alex</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 23, 2014 at 10:03 PM, Alex De la rosa <span dir="ltr"><<a href="mailto:alex.rosa.box@gmail.com" target="_blank">alex.rosa.box@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Bret,<div><br></div><div>Thanks for your reply, I had used Riak since version 0.14 via HTTP... for 2.0 I decided to do the switch to PBC and I'm glad to hear all HTTP calls has been migrated to PBC too :)</div>

<div><br></div><div>Does anybody know an estimate date for version 2.0 to be out? I'm starting a new project and I would love to be able to use 2.0 as "list" buckets is a great feature for my needs.</div><div>

<br></div><div>Thanks,</div><div>Alex</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 23, 2014 at 9:57 PM, Brett Hazen <span dir="ltr"><<a href="mailto:brett@basho.com" target="_blank">brett@basho.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div style="font-family:Verdana,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">

Alex -</div><div style="font-family:Verdana,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div style="font-family:Verdana,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">

I suspect you may be looking at some older documentation.  AFAIK all HTTP functionality is now (Riak 2.0) supported via PBC so you can pick either transport or the other for all of your communication.  In the past there was some functionality available only via HTTP.  There are now some direct queries to the Solr API which are available only via HTTP, but that’s outside of Riak’s core [1].</div>

<div style="font-family:Verdana,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div style="font-family:Verdana,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">I’m sure those more in the know will correct me if I’ve misspoken.</div>

<div style="font-family:Verdana,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div style="font-family:Verdana,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Brett</div>

 <div><div style="font-family:helvetica,arial;font-size:13px"><br></div><div style="font-family:helvetica,arial;font-size:13px">[1] <a href="http://docs.basho.com/riak/2.0.0beta1/dev/advanced/search/" style="font-family:Verdana,Arial" target="_blank">http://docs.basho.com/riak/2.0.0beta1/dev/advanced/search/</a></div>

</div><div><div> <br><p style="color:#000">On June 23, 2014 at 10:47:45 AM, Alex De la rosa (<a href="mailto:alex.rosa.box@gmail.com" target="_blank">alex.rosa.box@gmail.com</a>) wrote:</p> <blockquote type="cite">
<span><div><div></div><div>






<div dir="ltr">Hi Luc,
<div><br></div>
<div>Cool, thanks! I can see how to do it now:</div>
<div><br></div>
<div>bucket =
client.bucket_type('counter_bucket').bucket('counters')<br></div>
<div><br></div>
<div>Will be checking it more to see what can I do that is not yet
documented.</div>
<div><br></div>
<div>The Python documentation says at one point: "Some requests are
only valid over 'http', and will always be sent via those
transports, regardless of which protocol is preferred.". Can I know
which requests are HTTP only? is it for something in particular? or
they will be made into PBC at some point?</div>
<div><br></div>
<div>Thanks,</div>
<div>Alex</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Jun 23, 2014 at 5:29 PM, Luc
Perkins <span dir="ltr"><<a href="mailto:lperkins@basho.com" target="_blank">lperkins@basho.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Alex,
<div><br></div>
<div>It sounds like you're working mostly with the lower-level
Python API at the moment, but if you want to use the higher-level
parts of the client for interacting with Riak Data Types (sets,
maps, and counters), there is a tutorial here:<br>
<br>
<a href="https://raw.githubusercontent.com/basho/basho_docs/2.0.0/source/languages/en/riak/dev/using/data-types.md" target="_blank">https://raw.githubusercontent.com/basho/basho_docs/2.0.0/source/languages/en/riak/dev/using/data-types.md</a><br>



<br>
You'll see the Python samples interspersed throughout. I know it's
annoying because it's just raw Markdown at the moment, but this
will be deployed to our normal <a href="http://docs.basho.com/riak/2.0.0beta1/" target="_blank">docs
site</a> soon.</div>
<div><br></div>
<div>Hope that helps!</div>
<div><span><font color="#888888"><br></font></span></div>
<div><span><font color="#888888">Luc</font></span></div>
</div>
<div>
<div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Jun 23, 2014 at 4:54 PM, Alex De
la rosa <span dir="ltr"><<a href="mailto:alex.rosa.box@gmail.com" target="_blank">alex.rosa.box@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi Sean,
<div><br></div>
<div>Thanks for your quick reply, is what i suspected, moreover
after checking riak.proto file in the source. So mainly the
contents to store (json or not json) is not PB encoded
semantically, but is encoded as a "body" field in the Message.
That's good though.</div>
<div><br></div>
<div>Another question... is there any estimated date for Riak 2.0
to be released? I'm playing with 2.0 beta 1 and the "list" object
is a must-have for me (same as the "counter" object that can be
found in Riak 1.4).</div>
<div><br></div>
<div>Is crucial for me to decide which technologies to use in my
new project; so far Riak 2.0 seems a great option, but I can not
build under a beta.</div>
<div><br></div>
<div>Another question now that I talk about "counters"... how do
you do it with Python's PBC? I can see the
functions: RiakClient.get_counter()
and RiakClient.update_counter()... but... how do you create a
new counter? how do you specify the special connotations to the
bucket?</div>
<div><br></div>
<div>Thanks,</div>
<div>Alex</div>
</div>
<div>
<div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Jun 23, 2014 at 4:38 PM, Sean
Cribbs <span dir="ltr"><<a href="mailto:sean@basho.com" target="_blank">sean@basho.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi Alex,
<div><br></div>
<div>By default, the client assumes new objects use JSON as the
encoding. The protocol buffers are only used on the wire to encode
Riak's protocol. If you want to use your own protobuffs messages, I
suggest two things:</div>
<div><br></div>
<div>1. Decide on a `content_type` property for each of your data
types and be sure to assign that to each key as you create it. I've
used 'application/pb-person' as an example below.<br></div>
<div>2. Register encoder and decoder functions [1] on the
RiakClient object, like so:</div>
<div><br></div>
<div>client.set_decoder('application/pb-person',
Person.ParseFromString)</div>
<div>client.set_encoder('application/pb-person', lambda x:
x.SerializeToString())</div>
<div><br></div>
<div>[1] <a href="http://riak-python-client.readthedocs.org/en/latest/client.html#serialization" target="_blank">http://riak-python-client.readthedocs.org/en/latest/client.html#serialization</a></div>
<div><br></div>
<div>Cheers,</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">
<div>
<div>On Mon, Jun 23, 2014 at 9:19 AM, Alex De la rosa <span dir="ltr"><<a href="mailto:alex.rosa.box@gmail.com" target="_blank">alex.rosa.box@gmail.com</a>></span> wrote:<br></div>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>
<div dir="ltr">Hi there,
<div><br></div>
<div>I just installed RIAK 2.0 beta 1 and was playing with the
Python library using 'pbc' (Protocol Buffers).</div>
<div><br></div>
<div>test.py</div>
<div>
--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------<br>
</div>
<div>import riak<br></div>
<div>
<div>client = riak.RiakClient(host ='127.0.0.1', http_port = 8098,
pb_port = 8087, protocol = 'pbc')</div>
</div>
<div>
<div>bucket = client.bucket('people')</div>
<div><br></div>
<div>key = bucket.new('alex',
data={"username":"Alex","age":33})</div>
<div>key.store()</div>
<div><br></div>
<div>print bucket.get('alex').encoded_data</div>
</div>
<div>
--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------<br>
</div>
<div><br></div>
<div>it works perfectly and it prints {"username": "Alex", "age":
33} as it should print.</div>
<div><br></div>
<div>However, I'm not using a proto file (person.proto) and
compiling it into binary for Python to use it... something
like:</div>
<div><br></div>
<div>person.proto</div>
<div>
--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------<br>
</div>
<div>
<div>message Person {</div>
<div>  required string username = 1;<br></div>
<div>  required int32 age = 2;</div>
<div>}</div>
</div>
<div>
--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------<br>
</div>
<div><br></div>
<div>xxx.py</div>
<div>
--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------<br>
</div>
<div>
<div>import person_pb2</div>
<div>person = person_pb2.Person()</div>
<div>person.username = "Alex"<br></div>
<div>person.age = 33</div>
<div>data = person.SerializeToString()</div>
</div>
<div>
--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------<br>
</div>
<div><br></div>
<div>Am I using the 'pbc' interface wrong? however, on Riak's
examples page is done also without the "proto" file... I'm a bit
confused at the moment as it changed the way I normally would use
Protocol Buffers.</div>
<div><br></div>
<div>Thanks,</div>
<div>Alex</div>
</div>
<br></div>
</div>
_______________________________________________<br>
riak-users mailing list<br>
<a href="mailto:riak-users@lists.basho.com" target="_blank">riak-users@lists.basho.com</a><br>
<a href="http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com" target="_blank">http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com</a><br>

<br></blockquote>
</div>
<span><font color="#888888"><br>
<br clear="all"></font></span>
<div><span><font color="#888888"><br></font></span></div>
<span><font color="#888888">--<br>
Sean Cribbs <<a href="mailto:sean@basho.com" target="_blank">sean@basho.com</a>></font></span>
<div><span><font color="#888888">Software
Engineer</font></span></div>
<div><span><font color="#888888">Basho Technologies,
Inc.</font></span></div>
<div><span><font color="#888888"><a href="http://basho.com/" target="_blank">http://basho.com/</a></font></span></div>
</div>
</blockquote>
</div>
<br></div>
</div>
</div>
<br>
_______________________________________________<br>
riak-users mailing list<br>
<a href="mailto:riak-users@lists.basho.com" target="_blank">riak-users@lists.basho.com</a><br>
<a href="http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com" target="_blank">http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com</a><br>

<br></blockquote>
</div>
<br></div>
</div>
</div>
</blockquote>
</div>
<br></div>


_______________________________________________
<br>riak-users mailing list
<br><a href="mailto:riak-users@lists.basho.com" target="_blank">riak-users@lists.basho.com</a>
<br><a href="http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com" target="_blank">http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com</a>
<br></div></div></span></blockquote></div></div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>