ホームページ > バックエンド開発 > Golang > go aws-lambda と terraform での exec フォーマット エラー

go aws-lambda と terraform での exec フォーマット エラー

WBOY
リリース: 2024-02-13 19:30:09
転載
852 人が閲覧しました

go aws-lambda 与 terraform 中的 exec 格式错误

php editor Xinyi では、「go aws-lambda および terraform での実行形式エラー」という一般的な問題を紹介します。 aws-lambda と terraform を使用して関数を作成する場合、Exec 形式エラーの問題が発生する可能性があります。これは、関数コードまたは Terraform 構成のエラーが原因である可能性があります。この記事は、この問題を理解して解決し、aws-lambda 関数を正常に作成して実行できるようにするのに役立ちます。

質問内容

実は、terraformを使ってgolang lambdaを呼び出す際に、非常に稀な問題に遭遇しました。したがって、基本的には terraform を使用して、ラムダ、Golang を使用した API ゲートウェイなどのすべてのリソースをデプロイします。問題は、terraform を使用して golang lambda バイナリ .zip ファイルを lambda にデプロイすると、exec ルートを使用してリクエストをチェックすると、exec フォーマット エラーが返されることです。 terraform のすべてのコードは素晴らしく、単純な js ラムダ関数をテストしたようにフォーマットされており、正常に動作します。バイナリ アーキテクチャの問題だと思いますが、AWS で使用しているラムダと同じバイナリ アーキテクチャを使用しています。誰かが助けてくれれば、私もProvide.al2を使用して同じ問題が発生し、execフォーマットエラーが発生しました。

デバッグ情報

1-ディレクトリ構造

リーリー

2- terraform ラムダ関数リソース

リーリー

3-ビルドコマンド

リーリー

これにより、ビルド ファイル main が作成され、lambda terraform ファイルで使用できるように main.zip としてパッケージ化されます。 (amd64はx86_64の実行ファイルです)

amd64 でビルドするなどの解決策を提供しようとしましたが、ラムダで go を呼び出すと、この実行可能ファイルではバイナリを実行できないと言われます。

回避策

お使いの環境 設定は正しいですが、間違ったコマンドに設定してください。

リーリー

この動作は、go build ではなく、cd コマンドに対して GOOS、GOARCH、および CGO_ENABLED を設定します。

###これを試して:### リーリー

以上がgo aws-lambda と terraform での exec フォーマット エラーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート