第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Cloud Run Golang 容器問題/誤解

Cloud Run Golang 容器問題/誤解

C#
蠱毒傳說 2022-10-24 09:09:58
我正在嘗試對我們組織的云存儲中所有項(xiàng)目中的所有對象進(jìn)行報(bào)告。我正在使用來自 Google Professionnal Services 的這個(gè) repo,因?yàn)樗耆衔覀兊囊螅?https ://github.com/GoogleCloudPlatform/professional-services/tree/main/tools/gcs2bq我們想使用容器而不是 Cloud Function 上的 go 代碼,主要是為了實(shí)現(xiàn)可移植性。本地一切都很好,程序按預(yù)期運(yùn)行,但是當(dāng)我在 Cloud Run 中嘗試時(shí),事情變得棘手。據(jù)我了解,go部分需要監(jiān)聽一個(gè)端口,我在main開頭添加了這個(gè)端口,以便可以部署容器,它是:// Determine port for HTTP serviceport := os.Getenv("PORT")if port == "" {        port = "8080"        log.Printf("defaulting to port %s", port)}Start HTTP server.log.Printf("listening on port %s", port)if err := http.ListenAndServe(":"+port, nil); err != nil {        log.Fatal(err)}但正如您在 repo 中看到的,第一個(gè)調(diào)用的文件就是那個(gè)run.sh。其中設(shè)置環(huán)境變量,然后調(diào)用main.go. 它成功完成了它的任務(wù),即獲取不同文件的所有大小。但在那之后,它run.sh不會“恢復(fù)”并轉(zhuǎn)到它在 BigQuery 表中上傳數(shù)據(jù)的部分,該表在本地工作。這是run.sh文件中我有問題的部分。注意:執(zhí)行注釋 2 時(shí)沒有錯(cuò)誤./gcs2bq:每個(gè)環(huán)境變量都有正確的值./gcs2bq $GCS2BQ_FLAGS || error "Export failed!" 2    <- doesnt get past this linegsutil mb -p "${GCS2BQ_PROJECT}" -c standard -l "${GCS2BQ_LOCATION}" -b on "gs://${GCS2BQ_BUCKET}" || echo "Info: Storage bucket already exists: ${GCS2BQ_BUCKET}"gsutil cp "${GCS2BQ_FILE}" "gs://${GCS2BQ_BUCKET}/${GCS2BQ_FILENAME}" || error "Failed copying ${GCS2BQ_FILE} to gs://${GCS2BQ_BUCKET}/${GCS2BQ_FILENAME}!" 3bq mk --project_id="${GCS2BQ_PROJECT}" --location="${GCS2BQ_LOCATION}" "${GCS2BQ_DATASET}" || echo "Info: BigQuery dataset already exists: ${GCS2BQ_DATASET}"bq load --project_id="${GCS2BQ_PROJECT}" --location="${GCS2BQ_LOCATION}" --schema bigquery.schema --source_format=AVRO --use_avro_logical_types --replace=true "${GCS2BQ_DATASET}.${GCS2BQ_TABLE}" "gs://${GCS2BQ_BUCKET}/${GCS2BQ_FIL$  error "Failed to load gs://${GCS2BQ_BUCKET}/${GCS2BQ_FILENAME} to BigQuery table ${GCS2BQ_DATASET}.${GCS2BQ_TABLE}!" 4gsutil rm "gs://${GCS2BQ_BUCKET}/${GCS2BQ_FILENAME}" || error "Failed deleting gs://${GCS2BQ_BUCKET}/${GCS2BQ_FILENAME}!" 5rm -f "${GCS2BQ_FILE}"我對容器和 Cloud Run 有點(diǎn)陌生,即使在閱讀了項(xiàng)目和文檔之后,我也不確定自己做錯(cuò)了什么,調(diào)用 .sh 時(shí)“卡住”是否正常main.go?如果需要,我可以提供更多細(xì)節(jié)/解釋。
查看完整描述

1 回答

?
交互式愛情

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊

好的,所以對于遇到類似情況的任何人來說,這就是我讓它為我工作的方式。

容器不應(yīng)該停止,所以沒有退出,它只會回到主函數(shù)。

這意味著當(dāng)我調(diào)用可執(zhí)行文件時(shí)它只是循環(huán)并且從未退出并完成任務(wù)。所以這里的解決方案是將 golang 調(diào)用之后的所有內(nèi)容直接“重新編碼”到 main.go

在這里,run.sh 是無用的,所以我使用了另一個(gè) .go 文件來偵聽 http 請求,然后調(diào)用收集數(shù)據(jù)并將其發(fā)送到 Bigquery 的代碼。


查看完整回答
反對 回復(fù) 2022-10-24
  • 1 回答
  • 0 關(guān)注
  • 116 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號