时间:如何以编程方式创建命名空间?
Temporal: How to create a namespace progmatically?
可以通过 CLI 创建命名空间,但是如何使用 Java SDK 创建命名空间?
通过服务公开的 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 和附加讨论 here。
可以通过 CLI 创建命名空间,但是如何使用 Java SDK 创建命名空间?
通过服务公开的 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 和附加讨论 here。