Dataflow 流水线选项的服务帐号凭据

Service account credential for Dataflow pipline options

从 Dataflow 1.9 升级到 Beam 0.4.0。 GcpOptions 上用于设置服务帐户名称 (setServiceAccountName) 和密钥文件 (setServiceAccountKeyFile) 的方法不再可用。最接近的选择是 setGcpCredential.

要手动创建 GoogleCredential,使用的适当范围是什么?我的管道需要访问 PubSub、Datastore 和 BigQuery,可能是 Cloud Storage。

new GoogleCredential.Builder()
    .setTransport(HTTP_TRANSPORT)
    .setJsonFactory(JSON_FACTORY)
    .setServiceAccountId(serviceAccount)
    .setServiceAccountScopes(SCOPES)  // what will be the scopes?
    .setServiceAccountPrivateKeyFromP12File(p12file)
    .build();

我认为基于 this list 所有这些都应该可以使用 https://www.googleapis.com/auth/cloud-platform 范围访问。