- 0.0.1. nodeのバージョンを下げる
- 0.0.2. ssh2-sftp-clientを使ってAWS Lambda(Node.js)からSFTPサーバーにファイルをアップロードする
- 0.0.3. DynamoDBの低レベルAPIをNode.jsから叩いてみた
- 0.0.4. [HTML] nodejs + express でsessionStorage, localStorage を用いてログイン状態を管理
- 0.0.5. 形態素解析ツールMecabをNode + Typescriptで実装してみた
- 0.0.6. Ruby・Node.js・Goのライブラリバージョン管理比較
- 0.0.7. connect ECONNREFUSED 127.0.0.1:3306 ってなんぞや
- 0.0.8. dyld[60703]: Library not loaded: '/opt/homebrew/opt/icu4c/lib/libicui18n.70.dylib' でエラー
- 0.0.9. Rest改造
- 0.0.10. aws-sdkのタイムアウト設定はデフォルトから変更しよう
- 0.0.11. AWS Lambdaの関数URLとコールドスタートの付き合い方について
- 0.0.12. nodejs + express + mongoDB で複数のCollectionからまとめてデータを取り出す-lookup-
- 0.0.13. TypeScript環境構築
- 0.0.14. バックエンドのDB操作をSQLのように直感で書けるknex.js(Node.js向けのSQLクエリービルダー)とは
- 0.0.15. test.js: line 1: syntax error near unexpected token `(' の解決例
- 0.0.16. replit + Node.jsで簡易オンラインチャット
- 0.0.17. Vue3とExpress, Socket.ioで5段階評価サイトを作ってみた
- 0.0.18. nodemon :command not found への対応(macOS)
- 1. インストール
nodeのバージョンを下げる
Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (111)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1こういうエラーでた
↓
brew unlink node
brew install node@14
brew link –overwrite node@14
npm rebuild node-sass
ssh2-sftp-clientを使ってAWS Lambda(Node.js)からSFTPサーバーにファイルをアップロードする
# イントロダクション
この記事は、[ミロゴス Advent Calendar 2022](https://qiita.com/advent-calendar/2022/milogos) 5日目の記事です。
AWS Lambda(Node.js)からSFTPサーバー宛にS3上のファイルを転送したいという要件がありました。
Pythonであればparamikoあたりを使うところですが、Node.js(TypeScript)で開発したかったのでライブラリを探してみました。
使い勝手がよさそうものとして `ssh2-sftp-client` が見つかったので使ってみることにしました。# ssh2-sftp-clientとは
– https://www.npmjs.com/package/ssh2-sftp-client
– https://github.com/theophilusx/ssh2-sftp-clientssh2-sftp-clientは、Node.jsのSFTPクライアントです。
[ssh2](https://github.com/mscdex/ssh2) のラッ
DynamoDBの低レベルAPIをNode.jsから叩いてみた
# tl;dr
こちらをcloneして、READMEの通りにやってみてください!
DynamoDB、API Gatewayのサンプルコードがありますが、
他のAWSサービスにも応用はしやすくなっています。https://github.com/the-red/dynamodb-low-level-api
# 背景
DynamoDBにデータを入出力するときにはAWS SDKを使う場合がほとんどだと思いますが、SDKの内部ではWeb APIを実行していて、SDKを使わずに生のAPIをそのまま叩くこともできます。公式ドキュメントには「低レベルAPI」として紹介されています。
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html
低レベルAPIを実行するには、認証のため「APIリクエストの署名」というのが必要です。通常はSDK側で吸収してくれてる部分ですね。
署名ヘッダを使うサンプルは、検索すると色々と出てきます。たとえばクラスメソッドさ
[HTML] nodejs + express でsessionStorage, localStorage を用いてログイン状態を管理
# 環境
nodejs
express
mongoDB# Passport, サーバーからログイン状態を確認
“`javascript
app.get(‘/’, (req, res) => {
res.render(‘index.ejs’, { user: req.user })
})
“`
ログイン状態をpassportを用いて、サーバーから確認することができる。https://qiita.com/junzai/items/e1268bdeabf5e8223b15
# index.jsでログイン情報をsessionStorageで管理
“`html:index.ejs
<% if (user) { %>