1. inouet

    Posted

    inouet
Changes in title
+Node.js で AWSを操作する環境を作る(Mac)
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,109 @@
+
+# 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にバケット作ってファイル上げる例ですね。
+
+
+# 4. APIリファレンスで学ぶ
+
+それぞれのサービス(S3とかDynamoDBとか)の操作方法は下記リファレンスを見てみる。
+
+http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html
+