BigQuery golang 客户端:使用哪个上下文?

我正在使用 Go BigQuery 客户端包,但我对用法有点困惑context

在文档中,只有该Put函数明确提到使用带有超时的新上下文以避免无限期重试。context.Background()用于所有其他呼叫是否安全?


暮色呼如
浏览 57回答 1
1回答

侃侃尔雅

来自golang 网站:包 context 定义了 Context 类型,它携带跨 API 边界和进程之间的截止日期、取消信号和其他请求范围的值。因此,上下文被设计为针对每个用例进行调整和定制。您可以使用库提供的功能来实现这一目标。WithCancel、WithDeadline 和 WithTimeout 函数采用 Context(父级)并返回派生的 Context(子级)和 CancelFunc。调用 CancelFunc 会取消子级及其子级,删除父级对子级的引用,并停止任何关联的计时器因此,goDocs建议在您的上下文中使用 WithTimeout 函数,同时将数据插入 BigQuery 并防止重复,正如您已经看到的那样。唯一必须的是传递一个非零的上下文。你通常会使用它context.Background()作为一种方式(正如我在Cloud Github 共享的snippets.gocontext.TODO中看到的那样),但如果你不确定要使用哪一种,你可以安全地通过。
打开App,查看更多内容
随时随地看视频慕课网APP