簡體   English   中英

將 Go 與 BigQuery 結合使用時上下文被取消

[英]Context Canceled when using Go with BigQuery

我正在嘗試將記錄插入到 biqquery 中,這里是執行插入的代碼。

func (s *Storage) Insert(w *warehouse.WarehouseRecord) error {
   event, err := w.Marshal()
   if err != nil {
      return err
   }
   logger.Info("inserting record to big query")
   ins := s.client.Dataset(s.dataSet).Table(event.GetTableName()).Inserter()
   ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
   defer cancel()
   if err := ins.Put(ctx, event); err != nil {
      return err
   }
   return nil
}

當我運行我的應用程序時,插入失敗並出現錯誤。 錯誤說context canceled ,但我沒有取消父上下文,我懷疑它發生在客戶端 package 內部。你們中有人遇到過這個錯誤嗎?

Post "https://bigquery.googleapis.com/bigquery/v2/projects/dinesh-dev/datasets/analytics_test/tables/agent/insertAll?alt=json&prettyPrint=false": context canceled{"error":"Post \"https://bigquery.googleapis.com/bigquery/v2/projects/dinesh-dev/datasets/analytics_test/tables/agent/insertAll?alt=json\u0026prettyPrint=false\": context canceled"

也許您在初始化foo.NewClient(ctx, ...)時給出的context已被取消。 不應取消此上下文,請參閱文檔

// 不要取消傳遞給 NewClient 的上下文:撥號是異步發生的,上下文用於在后台刷新憑據。

暫無
暫無

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

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