2017年7月21日金曜日

遊戯王カード オリパ開封 ヤフオク

こんばんは

今日は今流行のオリパ開封をやってみました。
昔遊戯王カード流行ましたよね(15年前)

昔欲しいと思って手に入らなかったカードが手に入ったので
動画にしてみました。



2017年4月24日月曜日

AWSIOTボタンを使ってみた。(日本では売られていないので輸入!)

今日はAWS IOTボタンをというものを入手しましたので紹介したいと思います。
製品の概要はこちら

このボタンすごいんです!
ボタンを押すことでAWS上のLambdaを起動させるという物。


実は日本ではまだ売られていません。
アメリカのAmazonで入手することができます。
アメリカのAmazon,IOTボタンのページはこちら
海外のAmazonの購入の仕方はこちら

下記のように、ボタンを押すと商品が配達されるAmazon dash ボタンは市販されていますが
本製品は、ボタンを押した際の処理を自分で作ることができます!



日本で売られていないのに日本で使えるの?

使えました!東京リージョンのLamdaはできませんでしたが、オレゴン州にリージョンを設定することで可能!


設定手順としては、
①まず設定アプリをダウンロード。「AWSIoTButton」というアプリ。
当然日本のアップルストアには公開されていないので、
米国のアップルストアからダウンロード。
米国のアップルストアのダウンロード方法はこちら



②次に、Wifiネットワークの接続。外に出れるネットワークであれば何でもOK。
③次にアクションを設定。ここではSend Email (node.js)を選択。


④送りたいメールアドレスのダイアログが出てきますので、メールアドレスを設定。
これでLambda上に勝手に関数が追加されます。



本文や題名、送信先の記載をちょっと変更。

const AWS = require('aws-sdk');
const SES = new AWS.SES();
const EMAIL_ADDRESS = '送信元メールアドレス@xxx.ne.jp'; // change it to your email address

// Send a verification email to the given email address.
function sendVerification(email, callback) {
    SES.verifyEmailIdentity({ EmailAddress: email }, (err) => {
        callback(err || 'Verification email sent. Please verify it.');
    });
}

// Check whether email is verified. Only verified emails are allowed to send emails to or from.
function checkEmail(email, callback) {
    SES.getIdentityVerificationAttributes({ Identities: [email] }, (err, data) => {
        if (err) {
            callback(err);
            return;
        }
        const attributes = data.VerificationAttributes;
        if (!(email in attributes) || attributes[email].VerificationStatus !== 'Success') {
            sendVerification(email, callback);
        } else {
            callback(err, data);
        }
    });
}

exports.handler = (event, context, callback) => {
    console.log('Received event:', event);

    checkEmail(EMAIL_ADDRESS, (err) => {
        if (err) {
            console.log(`Failed to check email: ${EMAIL_ADDRESS}`, err);
            callback(err);
            return;
        }
        const payload = JSON.stringify(event);
        const subject = '陣痛ボタンが押下されました。';
        const bodyText = '関係者にメールが送信されます。' + '\n' +'関係者の方は何回もメールが続いた場合、連絡をとってください。' + '\n' +'本人への電話番号:999-999-999' + '\n' +
        '旦那への電話番号:999-999-999' + '\n' + '病院時間外電話番号:9999-9999-999';
        const params = {
            Source: EMAIL_ADDRESS,
            Destination: { ToAddresses:['xxxxxx@icloud.com',xxxxx@xxx.ne.jp','xxxxxx@i.softbank.jp','yxxxxxw33@i.softbank.jp']},
            Message: { Subject: { Data: subject }, Body: { Text: { Data: bodyText } } },
        };
        SES.sendEmail(params, callback);
    });
};


以上で、ボタンを押すだけでメールアドレスにメールが送れるようになります。

コードを見れば何を作っているかわかった方もいると思いますが、
私の妻が臨月に入っていますので「陣痛ボタン」をつくってみました。



手に届くところに設置!
ボタンを押すと・・・





このように関係者にメールが飛びます。
何回も何回もメールが来たら(前駆陣痛が来たら)大丈夫?と電話できる仕組みです。



ん〜ハイテクですね!
いろいろなアイデアに応用できると思います。

2017年3月30日木曜日

AWS(アマゾンウェブサービス)の活用を始めました(サーバレスアーキテクチャ)

パブリッククラウドとしてAWS,Azure,IMBクラウド等々色々ありますが、
本ブログではAWSを活用した記事も書いていきたいと思います。
3つを比べるとAzureが安いということがありますが、
私はAWSのLambdaという機能に目をつけ、「サーバレスアーキテクチャ」で
Webサイトを構築していきたいと思います。

サーバレスアーキテクチャとは、その名の通りPCやサーバの物理機器を持たないのはもちろん、仮想の世界の中にもマシンを持たないということになります。

ではどうやってシステムは動くのか?という疑問になりますが
要は「機能と機能をイベントで動かす」ということです。

HTMLで処理を指示
S3に一時ファイルが置かれる
イベント機能でLambdaを動かす
Lambda上のdynamoDB(データべース)登録処理が動く。
メールと飛ばしたければSESにメールの命令を書く。

といったように一方通行の処理を流すことができます。
つまり、使われた時だけ処理が動くので普段は動いていません。

AWS等のパブリッククラウドは従量課金制です。
サーバレスアーキテクチャでマシンを普段動かすことを無く、
上記のような使う時だけ課金が発生するシステムではあれば
格安でシステムを構築できると思いませんか?

今サンプルでシステムを作りましたので次回から構築方法等々の記事を書いていきたいと思います。