Amazon SQSをColdFusion10とAWS SDK for javaの組み合わせで操作する #1 | createQueue

2013.08.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

超初心者なのでAmazonのサービスを理解する目的もあって今回はColdFusionを使って実際にAmazon SQSを使ってみたいと思います。

動作させた環境

  • Windows7 64Bit
  • ColdFusion10 デベロッパー版
  • AWS SDK for java 1.5.3

Amazon SQSを使う

まずはSQSのQueueを作成します。(サンプルコード: index.cfm は下記です) application.cfm内で自分用のAccessKeyId,SecretAccessKeyは設定しているので、適宜自分の環境に合わせてapplication.cfm内に設定して下さい。

<cfcontent type="text/html; charset=utf-8">
<cfprocessingdirective pageEncoding="utf-8" suppressWhitespace="true">

<!--- application.cfm内で初期値を設定 --->
<cflock scope = "Session" timeout = "30" type = "Exclusive">
	<cfset aws_AK = #accessKeyId#> <!--- Your Access Key --->
	<cfset aws_SK = #secretAccessKey#> <!--- Your Secret Key --->
</cflock>

<cfoutput>
<html lang="ja">
<head>
    <meta charset="utf-8">
    <title>Coldfusion + AWS SDK for java SQS CreateQueue Sample</title>
</head>

<body>
<cfset awscreds = createObject("java","com.amazonaws.auth.BasicAWSCredentials").init(aws_AK,aws_SK)>
<cfset SQSClient = createObject("java","com.amazonaws.services.sqs.AmazonSQSClient").init(awscreds)>

<!--- Queue作成のRegionをEUに指定 --->
<cfset sqstest = SQSClient.setEndpoint("sqs.eu-west-1.amazonaws.com")>

<!--- 作成するQueue名称をtsukuma-SQSTestに指定 --->
<cfset SqsqueueName = "tsukuma-SQSTest">
<cfset SQSqueueRequest = createObject("java","com.amazonaws.services.sqs.model.CreateQueueRequest").init(SqsqueueName)>
<cfset sqstest = SQSClient.createQueue(SQSqueueRequest)>

<!--- Queueの一覧を取得 --->
<cfset queue_list = SQSClient.listQueues()>

<!--- Queue名称一覧をダンプさせる --->
<cfdump var="#queue_list.getQueueUrls()#">

上記テンプレートの実行結果のスクリーンショット

aws_sqs3

Management Consoleでキューが正しく作成されていることを確認します

aws_sqs4

ColdFusionでjavaを使う事にあまり慣れていないのでここまで来るのにかなり時間を使ってしまったので今回はQueueの作成までですが、次回はメッセージを送信して、受信するまでを試してみたいと思います。※テスト中なので一時的にDefault Visibility Timeoutの設定を5秒に変更しています。