AWSの開発でたまに遭うエラーと原因
に公開
また遭遇しそうなやつを記録するやつです。環境はAWS Lambda, Node.js 14.xでSDKはv3を使っています。npmパッケージはバンドルせずLayerに入れてimport
(require
)しています。
## crypto.getRandomValues() not supported
原因から察するにたぶんSQSに限りませんがSQSでSendMessageBatchしようとしたらでたエラーです。
エラーはsrc/rng-browserから出ています。リンク先にはReactNativeの対処とかしかなくて困りました。原因は@aws-sdk/client-sqsをLayerに入れ忘れていたからでした。入れ忘れたのにrequire()
ではエラーになりませんでした。入ってないならrequire()
の時点で「パッケージないよ」のエラーを出してほしい……
## The expected type comes from property A which is declared here on type B
aws-cdkのコードで出たTypeScriptのエラーです。例えばcoreのDurationで下のようなエラーが出ます。
何度か遭遇しましたが、たいてい別の@aws-cdk/aws-???
を入れた後に出ます。aws-cdkのパッケージたちのバージョンが揃っていないのが原因で、全部アップグレードするなどしてバージョンを揃えれば出なくなります。現状だとaws-cdkが週1回以上で更新されているので開発中に新しいパッケージを導入するときはだいたいずれます。
今回はここまで。