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

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

如何在 GCP 云功能中加載本地資產?

如何在 GCP 云功能中加載本地資產?

Go
江戶川亂折騰 2023-06-01 17:55:49
我正在 Golang 中構建一個微型 GCP 云函數,它在通過 HTTP 調用時返回生成的 PNG 文件。我在 Google Cloud Console 中通過 ZIP-Upload 部署了我的代碼。目前它被正確調用并且代碼被編譯等。但是在我的代碼中我必須加載幾個本地文件 - 一個字體和一個 .png 圖像。我將它們捆綁在我上傳的 ZIP 中,這些文件在 GCP 的源視圖中可見。所有文件(圖像、字體和 go 文件)都在同一目錄中。調用云函數時,日志說明如下:2019/01/21 14:59:31 open /english.png: no such file or directory我試圖改變我構建文件路徑的方式。我已經靜態地使用了 /german.png,多次嘗試動態構建路徑。我不是 100% 確定這是否是要走的路,但這是我對“無服務器”的第一次實驗,我愿意以“正確”的方式完成它。import "github.com/fogleman/gg"func main() {    ex, err := os.Executable()    if err != nil {        panic(err)    }    executableDir := filepath.Dir(ex)    img, err :=gg.LoadPNG(path.Join(executableDir, "./english.png"))    if err != nil {        log.Fatal(err)    }}目前我所做的任何嘗試都找不到該文件。也許圖像“部署”到的路徑與我嘗試過的路徑不同——我沒有在文檔中找到任何關于此的注釋。我顯然希望它能正確加載。
查看完整描述

3 回答

?
12345678_0001

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

根據文檔,對于 Go 1.13 ,截至今天(2020 年 7 月),源代碼位于目錄中./serverless_function_source_code。

一個很好的參考是buildpack。


查看完整回答
反對 回復 2023-06-01
?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

我創建了具有以下結構的 http 函數:


api

|--test.txt

|--api.go

并編寫了簡單的函數來回復文件內容:


package api


import (

? ? "io/ioutil"

? ? "net/http"

)


// FileTest func

func FileTest(w http.ResponseWriter, r *http.Request) {

? ? content, err := ioutil.ReadFile("./test.txt")

? ? if err != nil {

? ? ? ? w.WriteHeader(http.StatusInternalServerError)

? ? ? ? w.Write([]byte(err.Error()))

? ? ? ? return

? ? }


? ? w.Write(content)

}

它返回文件內容沒有任何問題。

因此,在您的情況下,我會嘗試將路徑更改為gg.LoadPNG("./english.png")


查看完整回答
反對 回復 2023-06-01
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

./serverless_function_source_code將 go113 運行時與 vendoring 一起使用對我不起作用。我想在供應商目錄中找到一個文件。


我的文件結構是:


myfn

|- main.go

|- go.mod

|- .gcloudignore

我的部署步驟是:


cd myfn

go mod vendor

gcloud functions deploy MyFunction --runtime go113 --set-env-vars "PATH_FILES=./src/myfn/vendor/static"

我通過部署一個函數發現了這一點,該函數列出了一定深度的所有文件,開始時"."沒有看到serverless_function_source_code目錄。但是有src/myfn。


查看完整回答
反對 回復 2023-06-01
  • 3 回答
  • 0 關注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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