Closed2
LambdaでGoをデプロイするまで 備忘録 (windows)
コードが書き終わった後のデプロイについて。
基本公式ドキュメントと同じです。
環境
win10
powershell
手順
-
ビルド
lambdaで選択したアーキテクチャ向けにビルドする必要がある。(現時点でgoはx86_64
(=amd64)しか選べない)
- 環境変数変更
$env:GOOS = "linux"
-
linux
とamd64
へ環境変数が変わっているか確認
go env GOOS GOARCH linux amd64
- バイナリ作成
go build -o <バイナリファイル名> ./<ファイル名>.go
-
zipファイルの作成
エクスプローラーからのzip化ではlambda関数実行時にpermission denied
というエラーが発生するため、build-lambda-zip
という公式のツールを利用する。- ツールダウンロード
go.exe get -u github.com/aws/aws-lambda-go/cmd/build-lambda-zip
- バイナリファイルをzip化
~\go\bin\build-lambda-zip.exe -output <zipファイル名>.zip .\<バイナリファイル名>
-
アップロード(マネコン上)
自身のlambda関数のコードソースからzipファイルをアップロードする。
-
ランタイム設定の編集
ランタイムのハンドラを先ほどのバイナリファイル名に変更する。
-
テスト
ここまできたら終了です。テストをしてみてください。
エラー等
exec format error
やpermission denied
が出る場合はバイナリファイルやzipファイルのフォーマットが正しくない可能性があります。
自身の環境変数を確認して見てください。
go env GOOS CGO_ENABLED GOARCH
linux
0
amd64
このスクラップは2022/02/05にクローズされました