1. inouet

    No comment

    inouet
Changes in tags
Changes in body
Source | HTML | Preview
@@ -1,172 +1,180 @@
Lambdaも出たことだし、node.jsもやってみようということで環境構築します。
# 1. Nodeのインストール
http://qiita.com/ryosy383/items/2ea9c92a792302b159b0
これみてやる。
```
$ brew update
$ brew install nodebrew
$ nodebrew install latest (データダウンロードとコンパイルに超時間かかる…)
$ nodebrew list
v0.12.2
current: none
$ nodebrew use v0.12.2
$ echo 'export PATH=$PATH:/Users/ユーザー名/.nodebrew/current/bin' >> ~/.bashrc
```
nodebrew使うと時間かかるので、サクッと試したいだけなら、 nodebrewではなく、brew installでいいかもしんない。
```
$ brew install node
```
# 2. AWS SDKのインストール
インストールするパッケージの定義作成 (package.json)
```
cat << EOT > package.json
{
"dependencies": {
"aws-sdk": ">= 2.0.9",
"node-uuid": ">= 1.4.1"
}
}
EOT
```
インストール
```
$ npm install
npm WARN package.json @ No description
npm WARN package.json @ No repository field.
npm WARN package.json @ No README data
node-uuid@1.4.3 node_modules/node-uuid
aws-sdk@2.1.23 node_modules/aws-sdk
├── xmlbuilder@0.4.2
├── xml2js@0.2.8
└── sax@0.5.3
```
# 3. サンプルを見てみる
下記にサンプルがあるので見てみる。
http://aws.amazon.com/jp/developers/getting-started/nodejs/
```
$ git clone https://github.com/awslabs/aws-nodejs-sample.git
$ cd aws-nodejs-sample
$ cat sample.js
```
```node
// Load the SDK and UUID
var AWS = require('aws-sdk');
var uuid = require('node-uuid');
// Create an S3 client
var s3 = new AWS.S3();
// Create a bucket and upload something into it
var bucketName = 'node-sdk-sample-' + uuid.v4();
var keyName = 'hello_world.txt';
s3.createBucket({Bucket: bucketName}, function() {
var params = {Bucket: bucketName, Key: keyName, Body: 'Hello World!'};
s3.putObject(params, function(err, data) {
if (err)
console.log(err)
else
console.log("Successfully uploaded data to " + bucketName + "/" + keyName);
});
});
```
S3にバケット作ってファイル上げる例ですね。
実行すると、下記のような感じでUUID付きの長いバケットが作られてその中にhello_world.txt が置かれるようです。
```
$ node sample.js
Successfully uploaded data to node-sdk-sample-a0038ade-1189-45be-84ca-c19ff5685644/hello_world.txt
```
確認してみる。
```
$ aws s3 ls s3://node-sdk-sample-a0038ade-1189-45be-84ca-c19ff5685644/
2015-04-14 20:45:43 12 hello_world.txt
```
# 4. APIリファレンスで学ぶ
それぞれのサービス(S3とかDynamoDBとか)の操作方法は下記リファレンスを見てみる。
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html
# 5. 試しにDynamoDB
```
$ vim dynamodb.js
```
```
var AWS = require('aws-sdk');
var dynamodb = new AWS.DynamoDB({region: 'ap-northeast-1'});
// テーブルリストを取得する
var params = {
ExclusiveStartTableName: 'STRING_VALUE',
Limit: 10
};
dynamodb.listTables(params, function(err, data) {
if (err) {
console.log(err, err.stack); // an error occurred
} else {
console.log(data); // successful response
}
});
```
```
$ node dynamodb.js
{ LastEvaluatedTableName: 'test9',
TableNames:
[ 'test1',
'test2',
:
:
'test9' ] }
```
とりあえずテーブル一覧取り出せた。なんとかなりそう。
+# 開発環境構築
+
+ローカルの開発環境として、WebStromを入れて、下記の設定をした。
+
+[WebStorm の Node.js 開発環境を構築する](http://qiita.com/oukayuka/items/bcadcfd714f39e25c818)
+
+すごくまとまってて良い記事。
+