[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
AWS Cloud Quest | インタラクティブなロールプレイングゲーム | AWS、これを新人研修でやったのだが、かなりよかった。
こんな感じなのでやってみると良いと思う。クラウドプラクティショナー範囲は無料。それ以上は課金すればやれるようだ
必要があり、チュートリアル: Lambda と DynamoDB を使用した CRUD API の構築 - Amazon API Gatewayを試したのだが、そのままやっても面白くないので API Gateway を HTTP API じゃなくて REST API にしてみた。
この両者はできること・できないことがそれぞれあるらしい(Choosing between HTTP APIs and REST APIs - Amazon API Gateway)。接続元 IP アドレスによってアクセスを制限するには REST API じゃないと難しいようだ(特定の IP アドレスが API Gateway REST API にアクセスすることを許可する)。試しに作ってみたは良いが変な人に大量アクセスされて課金がにゃーんするのは嫌なのでアクセス制限をかけるために REST API で作ってみる。
REST API では各リソースに対して各メソッドを使ってアクセスする。リソースは URL のパスで表現される。しかし、このパスはどうやって定義すれば良いのかが最初はよくわからなかった。
リソースから「リソースの作成」でこれを実施できる。各リソースを作ったらリソースに対してメソッドの作成を行えば各メソッドを実行した時に何が起こるのかを定義できる。
Lambda 関数を上述の状態で実行したところ、Lambda 関数に id 等のパラメータがわたっていなかった。メソッドを設定する際に「Lambda プロキシ統合の使用」にチェックを入れなければ引数が渡らないそうだ。
チュートリアルコンテンツのサンプル Lambda 関数は event.routeKey
で分岐しているが、routeKey
の値が渡ってこない(undefined になる)。その関係で以下のような感じに改変した(一部抜粋)。
const requestKey = `${event.httpMethod} ${event.resource}`; try { switch (requestKey) { case "DELETE /items/{id}":
ただ、本来はメソッド毎に関数を分けるべきなんだと思う。
docker exec -it [コンテナ名] /bin/bash
とすればコンテナの中に入れる。
exec はコンテナ内でコマンドを起動するコマンドである。
-it は --interactive と --tty の略であり、それぞれ以下である。
そして、 /bin/bash は exec によってコンテナ内で起動させるコマンドである。
って覚えるのも大変なので PATH が通っている場所(Windows なら C:\Windows
等)に以下のファイルを置き docker-entry.bat
などというファイル名で保存すれば
$ docker-entry [コンテナ名]
でコンテナの中に入り、そのまま操作できる。以下は Windows の例だが、Linux ならもっとするんっとやれるだろうから忘れる。
@echo off docker exec -it %1 /bin/bash
Herokuでdiscord-bcdicebotを動かす - 恐竜の化石掲載の手順で Discord-BcdiceBot を Heroku 上で動かすことができる。サーバのメンテナンスコスト無しに 24365 で bot を動かすことができるのである。
今回、この手順の為に必要なファイルについて PR を頂いたので、動かすための手順を追記したものを 2.2.0 として公開する予定。楽しみだがプライベートが忙しくてなかなか進められていない。
個人でやるならブログなり無料のウェブサーバなり GitHub Pages を使えば良いが、会社だとそうもいかないコンテンツを提供するのに便利。Google Workspace を使っていれば簡単に使える方法である。ただし、単純にテキストなコンテンツを提供したいなら編集権限を制限した Google Docs や Google Sites の機能を使うべきだろう。簡単な JS で作ったスクリプトを提供するのに便利。
かつては Google Drive に置いた HTML を直に提供できたようなのだが、今は無理。Google Apps Scriptで最も簡単なWebページを作成して公開するの手順ならばこの記事を書いている時点でも有効だった。
ただし、GitLab Pages とか Gitbucket Pages Plugin とかもあるので社内で GitLab を使っている場合はそちらを一考した方がメンテナンスは楽。