1

可以通过 CLI 创建命名空间,但如何使用 Java SDK 来创建?

4

1 回答 1

1

以编程方式,它是通过服务公开的gRPC API完成的。

在 Java 中,生成的 gRPC 客户端可通过 WorkflowServiceStubs 访问:

WorkflowServiceStubs service =
    WorkflowServiceStubs.newInstance(
        WorkflowServiceStubsOptions.newBuilder().setTarget(serviceAddress).build());
RegisterNamespaceRequest request =
    RegisterNamespaceRequest.newBuilder()
        .setNamespace(NAMESPACE)
        .setWorkflowExecutionRetentionPeriod(Durations.fromDays(7))
        .build();
service.blockingStub().registerNamespace(request);

在 Go SDK 中,您可以使用更高级别的NamespaceClient

client, err := client.NewNamespaceClient(client.Options{HostPort: ts.config.ServiceAddr})
    ...
err = client.Register(ctx, &workflowservice.RegisterNamespaceRequest{
    Name:                             name,
    WorkflowExecutionRetentionPeriod: &retention,
})

OP 和其他讨论在这里

于 2021-03-24T08:57:55.610 回答