タグ別アーカイブ: AWS

AWS Lambda を Node.js 6.10 + Promise で使ってみる

はじめに

 AWS LambdaでNode.js 6.10が利用できるようになりましたね。以前の投稿でPromiseの使い方について紹介しました。今回、DynamoDBからデータを取得する方法をはじめ、非同期処理を直列的・並列的に実行する方法をパターン化してみました。

続きを読む

AWS Lambda で Node.js 4.3 の Promise を使ってみた

はじめに

 AWS Lambda から DynamoDB や S3 にアクセスするときなど、SDK の非同期呼出しのおかげで同期的に処理させるようなコードを書くとコールバック地獄に陥るのは有名な話です。
 Node.js 4.3 からは Q などの外部パッケージに頼らずとも、Promise を使ってコールバック地獄から抜け出せるようになったそうなので紹介します。

続きを読む

任意のホストからAWS SDKを使ってS3へファイルをアップロードする

はじめに

 AWS上に構築したシステムに、システム外の外部ホストからファイルをアップロードするような業務はよくあると思います。やっていることは単純なのですが、ちょっとした手順になりますのでまとめておきます。なお、今回は AWS SDK for Python (boto3) を使ったプログラムを紹介します。

続きを読む

AWS EC2 の Ubuntu OS での初歩的なハマりどころ

はじめに

 私はこれまで、AWS EC2 では Amazon Linux しか使ったことがありませんでした。Ubuntu を使い始めて初歩的なところでつまづいた点をメモしておきます。

続きを読む

AWS Route53 で AWS 管理外の IP アドレスの逆引きをできるようにする

はじめに

 自前で構築した DNS サーバーを AWS Route53 に移行したり、新規に構築したオンプレミス環境に対して AWS Route53 に DNS サーバー機能を任せたりするときの手順を紹介します。

続きを読む

S3 バケットから複数のファイルを一括でコピーする

はじめに

 AWS コマンドはLinux の標準コマンドによく似た引数の並びで S3 へ簡単にアクセスできるようになっています。しかし完全に同じというわけではなく、例えば aws s3 cp コマンドでアスタリスクを付けてコピーしようとしても、ワイルドカードとして認識されず失敗します。

$ aws s3 cp s3://my-bucket/json-data* /mnt/.
A client error (404) occurred when calling the HeadObject operation: Key "json-data*" does not exist
Completed 1 part(s) with ... file(s) remaining

 今回、BashとPython3 (+ boto3)で複数ファイルの取り扱いについて紹介したいと思います。

続きを読む