Diceこの広告は、90日以上更新していないブログに表示しています。ファイルを作りたい場合にどうするか。プログラムで画像連結をしただけのPDFファイルは結構簡単に作れる。描画座標によってページ内のImage配置が結構柔軟にできる。基本は縦横一杯だが、画像が大きすぎたり、印刷の都合で上下左右の空白を入れたい場合などはわざとサイズと座標をずらすことで細かい調整が可能。使う本当に何でも変換してくれますねこの子。複雑なことしないなら、こっちの方がすごく楽。Managerによってダウンロードできるし。output.pdfA4で印刷することを前提にしたいので、画像全体を紙全体に貼り付けるために解像度と紙サイズを指定する。変換をかけてもよいかと。同じようなことをまとめてくれている人がいるのでこちらで。使う方法がネット上の公式ドキュメントには書いてある。Lambdaの実行環境内にプレインストールされているっていう証跡を記事の記載時点では見つけられなかった。Fucntion内に同時にアップロードするっていう記事が書いていないので、多分node.js用のLambda内部にはインストール済みなんだと思うのだけれど。PythonAWSのIAMユーザーを作って権限を与えて管理している場合、やっぱりふとしたミスが怖い。コミットしてしまったりなど。Roleとかを使えという話ではあるが、扱う人のAWSレベルによってはこのあたりが理解されず、また、古い資料にはプラクティスを反映していないものがあるので、それらを鵜呑みにしてしまうこともあるので、どうしても問題はなくならない。複数人で同一アカウントを利用し、ローカルでの個人利用をする場合はコンソールへのログインだけではなく、APIコールもMFA承認をしなくてはつかえないようにすることができる。有無による制御をかけられる。Accessを利用する場合はまずsts:GetSessionTokenでMFAコードを渡し、一時的に有効なトークンを取得しなくてはいけない。取得の方法や使い方なんかは例えば以下のページなどでまとめられている。https://dev.classmethod.jp/cloud/aws/mfa-protected-aws-api/が、取得したこれらの認証情報を使いたいのだけれども特定プロファイルに対して逐一自分で保存をしなければいけないのがそろそろ面倒になってきたので、スクリプト1個で何とかできるように以下のようなコードを書いてみた。https://github.com/a-hisame/aws-mfa-credential-settingsまあ、集団でAccessKeyをちゃんと管理するのであれば、例えばVault使うとかの方が良いと思うけれど、ほぼ個人利用でAccessKeyの流出被害を最低限に抑えるための自己満足として。関数をデプロイした後にローカルのファイルを跡形も無くすっ飛ばしたので、現在アップロード済みのファイルを取得できないか調べた。アップロード先のURLが格納されているのでここからダウンロードできる。ServicesをAWSCLIで使ってみて理解するAWSちょうどAWS上でワークフローが必要になるような業務を実装することになったので、アーキテクチャを考えてみました。それらのワークフローの実施が冗長化されており、同時にスケールすることも前提で。...と、意気込んで以下のコンセプトを元にしたアーキテクチャ図を考えていました。Functionの終了時に後続作業がある場合は、入力を変更したメッセージを用意したSQSに投げる。(Lambda側では状態に基づいた処理を行い、何も無くなったら処理を終わらせる)理論的には実装できなくもないですが、問題も数多く有ります。とほとんどそっくりな考え方であったのと、SQSの性質に基づく問題が解決できるということもあったので、本腰を入れてSWFを調べてみることにしました。FrameworkというSWFを実装するためのライブラリを利用してSWFを紹介しているものが多かったです。これだと個人的には非常に理解しづらかったので、AWSCLIから(ほぼ)APIレベルで機能を使ってみつつ、SWFの仕組みの理解をしようと試みました。結果としては、APIだけを使ってみると非常にシンプルなできになっている上に、非常に汎用的で使い道も数多くありそう、という結論が得られました。APIを結局解読したAWS1度挫折したんですが、Node.js側からせめてサーバーサイドでも認証できました。具体的なコードを(ほとんどコピーですが)以下のプロジェクトに上げました。https://github.com/a-hisame/cognito-userpools-examplecognito-idpのGetAuthenticationDetailsとAuthenticateをそれぞれ定義して使っています。あたりを読んでみてください。