亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Netlify 函數 (AWS Lambda) 示例“hello”Golang 函數:

Netlify 函數 (AWS Lambda) 示例“hello”Golang 函數:

Go
吃雞游戲 2023-05-15 15:14:28
我正在嘗試讓 Netlify Functions 與 Go 一起工作。首先,我嘗試克隆官方示例 repo ( https://github.com/netlify/aws-lambda-go-example ) 并且成功了。我的問題是,我有一個需要hugo構建命令的 Hugo 網站,我不知道如何構建 Hugo 和hugoGo 源文件make build(比如在示例 repo 中)——我認為它可以解決問題,但我找不到描述此選項的相關文檔。所以我的下一步是手動編譯 Go 函數文件并將其放入functions文件夾中。源文件(來自上面的例子):package mainimport (    "github.com/aws/aws-lambda-go/events"    "github.com/aws/aws-lambda-go/lambda")func handler(request events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) {    return events.APIGatewayProxyResponse{        StatusCode: 200,        Body:       "Hello AWS Lambda and Netlify",    }, nil}func main() {    // Make the handler available for Remote Procedure Call by AWS Lambda    lambda.Start(handler)}我使用https://github.com/aws/aws-lambda-go#building-your-function上提供的指令來編譯 Go 二進制文件:GOOS=linux GOARCH=amd64 go build -o hello hello.gozip hello.zip hellomv hello.zip ./functions/hello.zip這被推送到 Git,因此部署到 Netlify。到目前為止一切順利,我的功能出現在 Netlify UI 中。但是當我請求函數 URL 時,我收到錯誤消息:    {  "errorMessage": "Invalid or unexpected token",  "errorType": "SyntaxError",  "stackTrace": [    "",    "SyntaxError: Invalid or unexpected token",    "createScript (vm.js:80:10)",    "Object.runInThisContext (vm.js:139:10)",    "Module._compile (module.js:616:28)",    "Object.Module._extensions..js (module.js:663:10)",    "Module.load (module.js:565:32)",    "tryModuleLoad (module.js:505:12)",    "Function.Module._load (module.js:497:3)",    "Module.require (module.js:596:17)",    "require (internal/module.js:11:18)"  ]}此外,函數名稱似乎hello.js在 Netlify UI 中 - 我不知道它是否應該那樣。在我看來,AWS 認為它是 Javascript 而不是 Go。
查看完整描述

1 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

我沒有在 Netlify 上測試壓縮的 go 函數。


如果您不想在這種情況下進行手動構建,您可以在 Netlify 部署中內聯構建命令。


添加一個構建命令,為項目執行兩個構建。


[build]

  command = "make build && hugo"

  functions = "functions"

  publish = "public"

[build.environment]

  # Change this path with the path to your repository

  GO_IMPORT_PATH = "github.com/netlify/aws-lambda-go-example"


查看完整回答
反對 回復 2023-05-15
  • 1 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號