我正在尝试在 BigQuery 上设置权限,以便用户能够查看和查询一个数据集上的表,但能够编辑、创建和删除另一数据集上的表。
我无法弄清楚如何在云平台控制台上执行此“数据集级隔离”。
理想的情况是:
关于如何做到这一点有什么想法吗?
我正在尝试创建一个具有两种通用类型的函数:一种是具体化的,另一种是从其使用上下文派生的(因为它是一个扩展函数):
inline fun <reified E, A> Either<Throwable, A>.bypassLeft(transformation: Throwable.() -> A): Either<Throwable, A> =
when (this) {
is Either.Left -> when (value) {
is E -> value.transformation().right()
else -> this
}
else -> this
}
Run Code Online (Sandbox Code Playgroud)
这个想法是调用仅提及具体化类型的函数,例如:
a.bypassLeft<NoResultException> { "" }
Run Code Online (Sandbox Code Playgroud)
其中“a”是 Either<Throwable,String> 类型的对象
但编译器不让我放弃它,并要求我指定两种泛型类型,而不是从调用函数的对象中派生出第二个泛型类型。这似乎是一件很合理的事情,但也许我错了......
这有可能实现吗?如果是这样,我做错了什么?
generics functional-programming kotlin kotlin-reified-type-parameters arrow-kt
我正在尝试为两个案例类生成编码器和解码器:
object EventBusCases {
case class ValuationRequest(function: RequestValue = ALL_DAY_VALS, interval: RequestValue = IntraDayIntervals.MIN_5)
implicit val requestDecoder: Decoder[ValuationRequest] = deriveDecoder[ValuationRequest]
implicit val requestEncoder: Encoder[ValuationRequest] = deriveEncoder[ValuationRequest]
case class ValuationResponse(values: List[Valuation], function: RequestValue)
implicit val responseDecoder: Decoder[ValuationResponse] = deriveDecoder[ValuationResponse]
implicit val responseEncoder: Encoder[ValuationResponse] = deriveEncoder[ValuationResponse]
}
Run Code Online (Sandbox Code Playgroud)
我不断收到这样的错误,但对于这两种情况:
could not find Lazy implicit value of type io.circe.generic.encoding.DerivedAsObjectEncoder[eventbus.eventBusCases.ValuationResponse]
我决定还尝试为这些类中的自定义类派生编码器和解码器,例如“Valuation”,但我在这些类上遇到了相同的错误。
我正在使用Circe 0.12.3这些Scala 2.12.8是我的 Circe 相关的 Scala 依赖项:
"com.beachape" %% "enumeratum" % "1.5.14",
"com.beachape" %% "enumeratum-circe" % "1.5.22",
"io.circe" %% "circe-core" …Run Code Online (Sandbox Code Playgroud) 我只想更新一个应用程序版本字段。目前在 maven 的 pom.xml 中我有像往常一样的版本:
<version>1.1.0</version>
Run Code Online (Sandbox Code Playgroud)
我希望该字段继承 Helm 的 Chart.yaml appVersion 属性。
appVersion: 1.1.0
Run Code Online (Sandbox Code Playgroud)
这可以通过 Helm 模板或其他方式来完成吗?
我想使用 HELM 强制部署在 Openshift 上重新部署。
我正在使用“image@latest”进行部署,因为我想在每次部署时都拥有最新的图像,但我不想有图像更改触发器,因为我无法控制图像更改的频率,而且我在部署新版本的映像之前,可能需要更改图表中的某些内容(例如配置映射)。因此,为什么我不想为部署设置图像触发器。
基本上,我希望它在我想要的时候重新部署而不是自动重新部署,我更喜欢用 helm 来做,我尝试用helm upgrade.
目前我有一个配置更改触发器,所以在我更改图表(包含配置)的情况下,部署会重新部署。但是,如果图表中没有任何变化,我就找不到任何方法通过 Helm 强制重新部署。
有什么办法可以做到吗?
我想有一个约束,其中我确保至少两列不为空。基本上,从这两列中,一列必须包含值。
我怎么会有这样的约束?有可能在 liquibase 上吗?如果没有,是否可以通过 SQL 或某些 postgres 特定的东西?
generics ×2
arrow-kt ×1
circe ×1
dataset ×1
deployment ×1
derived ×1
json ×1
kotlin ×1
kotlin-reified-type-parameters ×1
kubernetes ×1
liquibase ×1
maven ×1
openshift ×1
permissions ×1
postgresql ×1
scala ×1
sql ×1
version ×1