171.5. コンピュート使用状況のサンプル
以下は、java dsl および spring/blueprint xml での jclouds コンピュートプロデューサーの使用を示すいくつかの例です。
171.5.1. 例 1: 利用可能なイメージを一覧表示します。 リンクのコピーリンクがクリップボードにコピーされました!
from("jclouds:compute:aws-ec2" + "&operation=CamelJCloudsListImages") .to("direct:next");
from("jclouds:compute:aws-ec2" +
"&operation=CamelJCloudsListImages")
.to("direct:next");
これにより、本文内にイメージのリストを含むメッセージが作成されます。xml を使用して同じことを行うこともできます。
<route> <from uri="jclouds:compute:aws-ec2?operation=CamelJCloudsListImages"/> <to uri="direct:next"/> </route>
<route>
<from uri="jclouds:compute:aws-ec2?operation=CamelJCloudsListImages"/>
<to uri="direct:next"/>
</route>
171.5.2. 例 2: 新しいノードを作成します。 リンクのコピーリンクがクリップボードにコピーされました!
これにより、クラウドプロバイダーに新しいノードが作成されます。この場合の出力メッセージは、新しく作成されたノードに関する情報 (IP、ホスト名など) を含む一連のメタデータになります。これは、Spring xml を使用した場合と同じです。
<route> <from uri="direct:start"/> <to uri="jclouds:compute:aws-ec2?operation=CamelJcloudsCreateNode&imageId=AMI_XXXXX&locationId=XXXXX&group=myGroup"/> </route>
<route>
<from uri="direct:start"/>
<to uri="jclouds:compute:aws-ec2?operation=CamelJcloudsCreateNode&imageId=AMI_XXXXX&locationId=XXXXX&group=myGroup"/>
</route>
171.5.3. 例 3: 実行中のノードでシェルスクリプトを実行します。 リンクのコピーリンクがクリップボードにコピーされました!
from("direct:start"). to("jclouds:compute:aws-ec2" + "?operation=CamelJcloudsRunScript" + "?nodeId=10" + "&user=ubuntu");
from("direct:start").
to("jclouds:compute:aws-ec2" +
"?operation=CamelJcloudsRunScript" +
"?nodeId=10" +
"&user=ubuntu");
上記のサンプルは、実行されるシェルスクリプトを含むと予想される in メッセージのボディーを取得します。スクリプトが取得されると、指定されたユーザー (ubuntu の場合) の下で実行するためにノードに送信されます。ターゲットノードは、その nodeId を使用して指定されます。nodeId は、ノードの作成時に、結果のメタデータの一部になるか、または LIST_NODES 操作を実行することによって取得できます。
注記 これには、コンポーネントに渡されるコンピュートサービスが、適切な jclouds ssh 対応モジュール (jsch または sshj など) で初期化される必要があります。
これは、Spring xml を使用した場合と同じです。
<route> <from uri="direct:start"/> <to uri="jclouds:compute:aws-ec2?operation=CamelJcloudsListNodes&?nodeId=10&user=ubuntu"/> </route>
<route>
<from uri="direct:start"/>
<to uri="jclouds:compute:aws-ec2?operation=CamelJcloudsListNodes&?nodeId=10&user=ubuntu"/>
</route>
171.5.4. その他の参考資料 リンクのコピーリンクがクリップボードにコピーされました!
jclouds について詳しく知りたい場合は、興味深いリソースのリストをご覧ください。
Jclouds コンピュート wiki Compute wiki