ダメ元エンジニアのお勉強おメモ

ほとんど自分用のメモです。AWS をよく触ります。Web アプリとか作ります。Raspberry Pi も好きです。

2021-06-01から1ヶ月間の記事一覧

Ajv v7 から email 等のフォーマットをチェックする場合には ajv-formats を入れる必要があるようです

解決方法 「ajv@^7.0.0が「e​​mail」形式のJSONスキーマのコンパイルに失敗するぜ」という Issue があり、 github.com 「フォーマットはajv-formatsパッケージに含まれているぜ」という返答がある。 これだ。 github.com こうすればエラーが発生しなくなる。…

Cognito IdP の ListUserPoolClients を1回呼び出した際に返されるアプリクライアントの数が AWS CLI と AWS SDK for JavaScript で異なる(サービスやアクションに限らない話の可能性あり)

環境 % aws --version aws-cli/2.0.28 Python/3.7.4 Darwin/19.6.0 botocore/2.0.0dev3 % node --version v14.7.0 % yarn --version 1.22.10 % yarn list --depth=0 | grep aws-sdk ├─ aws-sdk@2.934.0 準備 下記の Shell Script で特定のユーザープールに20…

Cognito IdP でユーザーのリストを単に取得してもグループの情報は含まれない

内容 listUsers ではグループの情報が一切取得できない。代わりに listGroups でグループ名を取得してから listUsersInGroup でグループごとにユーザーのリストを取得 & 良い感じに結合するしかなさそう。 下記を参考にして、 stackoverflow.com TypeScript …

material-table でアイコンが表示されない原因は link タグが抜けているだけ、README をちゃんと読みましょう

原因 これを追加すればOK。 <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" /> README をちゃんと読みましょう、俺。 github.com</link>

React プロジェクト作成時の TypeScript 適用でミスった

環境 % create-react-app --version 4.0.3 ミスった こっちじゃなく、 % create-react-app frontend --typescript こっちだ。 % create-react-app frontend --template typescript 過去のメモ通りコマンドを実行したら、TypeScript が適用されなかった。 過…

Cognito でユーザーの email 変更と同時に email_verified を true にすると検証コード通知メールが飛ばない

結論 いや、検証コードの通知飛ばさなくて良いんですけどって時は下記のような形でコマンドを叩けばおk。 % aws cognito-idp admin-update-user-attributes \ --user-pool-id ap-northeast-1_xxxxxx \ --username yamada.taro \ --user-attributes Name=emai…

AWS Lambda のテストイベントでテンプレートを保存しても他の IAM ユーザーと共有されない

結論 タイトルのまま。Lambda のテストイベントでテンプレートを作成 & 保存しても、それはアカウント全体で共有できるわけではないみたい。 だから、CDK とかでテストイベントのテンプレートを作成できないのか。なるほど。 業務上、Lambda でツールっぽい…

TypeScript で JSON を CSV に変換する

追記 自作するのではなく、下記のライブラリを使う方が良さそう。 github.com import { Parser } from 'json2csv'; const parser = new Parser({ fields: ['userId', 'username', 'age'], withBOM: true, }); console.log(parser.parse({ ... })); BOM 有無…

DynamoDB で GSI に対して強力な整合性のある読み込みはできない

参考 dev.classmethod.jp ただし、グローバルセカンダリインデックス (GSI)で「強力な整合性のある読み込み」が利用できないことは忘れないで下さい。 経緯 Lambda で DynamoDB のテーブルに対して「強力な整合性のある読み込み」をしようと思ったらエラーが…

Route 53 のヘルスチェックで異常状態を通知する CloudWatch Alarm 及び SNS Topic はバージニア北部リージョンに作成される

参考 docs.aws.amazon.com Route 53 コンソールで CloudWatch のメトリクスを表示するには AWS マネジメントコンソール にサインインした後、https://console.aws.amazon.com/cloudwatch/ にある CloudWatch コンソールを開きます。 現在のリージョンを [米…

Route 53 がエンドポイントをヘルスチェックする場合の挙動に関するメモ

参考 docs.aws.amazon.com メモ デフォルトでヘルスチェッカーの数は8リージョン * 2の計16個(2021/06/01 時点) 高度な設定にてリージョンを選択可能 最低でも3リージョンは選択する必要がある = 最低でも6つのヘルスチェッカーが走る ヘルスチェックが異…

グローバルテーブルを設定した DynamoDB テーブルに対して、強い整合性のある読み込みをしても失敗する場合に確認すること

原因 例えば、東京/シンガポールリージョンでグローバルテーブルの設定をした DynamoDB のテーブルが存在するとして、 両リージョンで用意している同じコードの Lambda が、下記のように実装されている場合。 import * as DynamoDB from 'aws-sdk/clients/dy…