<br><br><div class="gmail_quote">On Sat, Nov 8, 2008 at 3:15 PM, Ben Hood <span dir="ltr">&lt;<a href="mailto:0x6e6562@gmail.com">0x6e6562@gmail.com</a>&gt;</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 &lt;<a href="mailto:Peter.A.Silva@gmail.com">Peter.A.Silva@gmail.com</a>&gt; wrote:<br>
&gt; That&#39;s strange... maybe I&#39;m just getting confused by<br>
&gt; a client code... Here is an example from the demo in py-amqplib...<br>
&gt;<br>
&gt; &nbsp;ch.basic_publish(msg, EXCHANGE_NAME, routing_key=topic)<br>
&gt;<br>
&gt; the &#39;routing_key&#39; in this api, afaict, is one of three keywords: topic,<br>
&gt; fanout, direct. &nbsp; 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 = &#39;%Y.%m.%d.%w.%H.%M&#39; # 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">&gt; If the key is a string, and the exchange_type is opaque to the producers,<br>
&gt; then that&#39;s cool. &nbsp;So for my application. &nbsp;An admin creates the exchange,<br>
&gt; the producers post to it using AHL&#39;s or file names as routing keys,<br>
&gt; oblivious to the routing method in use.<br>
&gt; That&#39;s OK?<br>
<br>
</div>Yes, that will work.<br>
<div class="Ih2E3d"></div></blockquote><div><br>OK, I was just confused then.&nbsp; cool!<br><br>&nbsp;<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>
&gt; The next thing is that I need to be able to define routing to output queues<br>
&gt; myself, (how the routing key is interpreted.) before the clients apply their<br>
&gt; routing info, so I can say, no... my client <a href="http://talibanitravel.com" target="_blank">talibanitravel.com</a> has no access<br>
&gt; to the weather ob from Kandahar airport, even if they say they want it.<br>
&gt; They are perhaps allowed the ob from Peshawar, Moscow and Montreal. &nbsp; So<br>
&gt; data posted on the same exchange may or may not be allowed to be seen by<br>
&gt; some clients. &nbsp; I do that today with routing tables, others would use acl&#39;s<br>
&gt; or capabilities. &nbsp; per exchange permissions of some sort would work... do<br>
&gt; 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>&nbsp;<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>
&gt; I guess that is a function outside of AMQP (not a protocol thing, but rather<br>
&gt; a broker function?)<br>
<br>
</div>Could be - again, a mechanism orthogonal to the protocol has been discussed.<br>
<div class="Ih2E3d"><br>
&gt; &nbsp;I get the impression permissions/ACL&#39;s<br>
&gt; were something applied at the queue/exchange level. &nbsp;Was there<br>
&gt; something granular enough to apply to individual messages sent to an<br>
&gt; 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>