簡體   English   中英

如何運行用 Golang 編寫的 GCP Cloud Function 以運行數據流作業以將文本文件導入 Spanner?

[英]How to run a GCP Cloud Function written in Golang to run a Dataflow job to import text file to Spanner?

我使用了以下示例: https://github.com/apache/beam/blob/master/sdks/go/examples/wordcount/wordcount.go#L82以及 Google Cloud Support 的建議,使用以下內容運行數據流導入作業:

    flag.Parse()
    flag.Set("runner", "dataflow")
    flag.Set("project"xxxx "rp")
    flag.Set("region", "us-central1")
    flag.Set("staging_location", "gs://xxx/temp")
    flag.Set("job_name", "import-delivery_schedule")
    beam.Init()
    p := beam.NewPipeline()
    p.Root()
    if err := beamx.Run(context.Background(), p); err != nil {
        log.Fatalf("Failed to execute job: %v", err)
    }

雲function與數據庫在同一個項目中。 數據流導入作業與數據庫位於同一項目中。 導入作業從控制台成功運行。

但是,我無法讓它工作。

我收到此錯誤:“函數執行耗時 18 毫秒,完成狀態為:‘連接錯誤’”

我對將文本文件導入扳手表的其他方法持開放態度。 你有什么建議?

如果導入數據流作業正在創建並成功運行,那么 GCP 雲 function 似乎沒有問題。

確保數據流工作者有足夠的權限訪問數據庫。 https://cloud.google.com/spanner/docs/import#iam數據流作業需要這些權限才能訪問和寫入 spanner(或其中的一部分,具體取決於您在導入中所做的修改類型) . 將這些角色包含到數據流工作者所承擔的服務帳戶中。 https://cloud.google.com/dataflow/docs/concepts/security-and-permissions#worker-service-account

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM