在 Go 中 Google Cloud Dataflow 可以 运行 没有外部 IP 地址吗?

Can Google Cloud Dataflow be run without an external IP address in Go?

根据 documentation 可以在不使用 public IP 的情况下 运行 数据流。但它只有 Java 和 Python 的信息。我无法在 Go 中找到一种方法:-(。

Dataflow 尚未正式支持 Go(因此缺少文档),但 same flags 存在于 Go SDK 中并且应该以完全相同的方式工作。

解决方法: IpConfiguration: "WORKER_IP_PRIVATE"

像这样的上下文:

    response := dataflowService.Projects.Locations.Templates.Create(PROJECT_ID, location, &dataflow.CreateJobFromTemplateRequest{
    Environment: &dataflow.RuntimeEnvironment{
        AdditionalExperiments:   []string{},
        AdditionalUserLabels:    map[string]string{},
        BypassTempDirValidation: false,
        EnableStreamingEngine:   false,
        IpConfiguration:         "WORKER_IP_PRIVATE",
        KmsKeyName:              "",
        MachineType:             "",
        MaxWorkers:              0,
        Network:                 "",
        NumWorkers:              0,
        ServiceAccountEmail:     "",
        Subnetwork:              "https://www.googleapis.com/compute/v1/projects/" + HOST_PROJECT_ID + "/regions/europe-north1/subnetworks/" + SUBNETWORK + "",
        TempLocation:            "",
        WorkerRegion:            "",
        WorkerZone:              "",
        Zone:                    "",
        ForceSendFields:         []string{},
        NullFields:              []string{},
    },