<br><br><div class="gmail_quote">On Sat, Nov 8, 2008 at 3:15 PM, Ben Hood <span dir="ltr"><<a href="mailto:0x6e6562@gmail.com">0x6e6562@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Peter,<br>
<div class="Ih2E3d"><br>
On Sat, Nov 8, 2008 at 7:29 PM, Peter Silva <<a href="mailto:Peter.A.Silva@gmail.com">Peter.A.Silva@gmail.com</a>> wrote:<br>
> That's strange... maybe I'm just getting confused by<br>
> a client code... Here is an example from the demo in py-amqplib...<br>
><br>
> ch.basic_publish(msg, EXCHANGE_NAME, routing_key=topic)<br>
><br>
> the 'routing_key' in this api, afaict, is one of three keywords: topic,<br>
> fanout, direct. what is called exchange_type in the AMQP spec.<br>
<br>
</div>Are you referring to amqp_clock.py?<br>
<br>
If so, I think that the topic is a the name of a string variable:<br>
<br>
TOPIC_PATTERN = '%Y.%m.%d.%w.%H.%M' # Python datetime.strftime() pattern<br>
.....<br>
topic = now.strftime(TOPIC_PATTERN)<br>
<div>ch.basic_publish(msg, EXCHANGE_NAME, routing_key=topic) <br></div></blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">
<br>
</div><div class="Ih2E3d">> If the key is a string, and the exchange_type is opaque to the producers,<br>
> then that's cool. So for my application. An admin creates the exchange,<br>
> the producers post to it using AHL's or file names as routing keys,<br>
> oblivious to the routing method in use.<br>
> That's OK?<br>
<br>
</div>Yes, that will work.<br>
<div class="Ih2E3d"></div></blockquote><div><br>OK, I was just confused then. cool!<br><br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
> The next thing is that I need to be able to define routing to output queues<br>
> myself, (how the routing key is interpreted.) before the clients apply their<br>
> routing info, so I can say, no... my client <a href="http://talibanitravel.com" target="_blank">talibanitravel.com</a> has no access<br>
> to the weather ob from Kandahar airport, even if they say they want it.<br>
> They are perhaps allowed the ob from Peshawar, Moscow and Montreal. So<br>
> data posted on the same exchange may or may not be allowed to be seen by<br>
> some clients. I do that today with routing tables, others would use acl's<br>
> or capabilities. per exchange permissions of some sort would work... do<br>
> they exist?<br>
<br>
</div>No, there is no fine grained access restriction (as discussed in other<br>
threads on this list).</blockquote><div><br>OK... If you want to apply rules, then you have one<br>exchange for reception, an application will read, and then send subsets to other exchanges where all the clients have the same access permissions.<br>
<br>Is that sounding right?<br><br><br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div class="Ih2E3d"><br>
> I guess that is a function outside of AMQP (not a protocol thing, but rather<br>
> a broker function?)<br>
<br>
</div>Could be - again, a mechanism orthogonal to the protocol has been discussed.<br>
<div class="Ih2E3d"><br>
> I get the impression permissions/ACL's<br>
> were something applied at the queue/exchange level. Was there<br>
> something granular enough to apply to individual messages sent to an<br>
> exchange blocking posting to queues based on routing_key?<br>
<br>
</div>AFAIK something as fine grained as this has not yet been investigated in detail.<br>
<font color="#888888"><br>
Ben<br>
</font></blockquote></div><br>