如何将Spring Cloud GCP用于多个Google项目

时间:2019-06-21 13:34:37

标签: spring spring-cloud-gcp

对于那些非常了解GCP的人来说,它对用户和权限控制有一些“局限性”。

例如,数据存储区没有任何方法来管理数据库本身的用户角色,并且仅具有平台的IAM。

因此,Google的员工建议其客户使用GCP的多个项目和文件夹来对此进行更多控制。我已经看了一段时间了。

问题是:如何在Spring Cloud GCP上连接到GCP多个项目的多个资源?我们拥有应从不同项目访问数据存储区和其他资源的应用程序,而我为此而苦苦挣扎。

即使Spring Cloud GCP不支持多个GCP项目,是否有解决方法?

谢谢大家。

2 个答案:

答案 0 :(得分:0)

您的答案应在“ Shared-VPC”内。

  

共享VPC允许组织将多个项目中的资源连接到一个通用VPC网络,以便它们可以使用该网络中的内部IP安全有效地相互通信。

要使用此功能,您的所有项目都必须属于同一“组织节点”,您可能已经在所有项目之上设置了该节点。然后,您将项目设置为宿主项目和服务项目。主持人...很好:

  

一个主机项目包含一个或多个Shared VPC网络。共享VPC管理员必须首先将项目启用为宿主项目。之后,共享的VPC管理员可以向其附加一个或多个服务项目。

     

服务项目是指由共享VPC管理员附加到宿主项目的任何项目。该附件使它可以参与共享VPC。通常,由组织中的不同部门或团队来运营和管理多个服务项目。

值得注意的是:“服务项目”的项目也不能是宿主。至于设置方法,这取决于您的具体实现,但这是some examples and use cases

答案 1 :(得分:0)

您可以使用为每个单独的服务提供的低级客户端库,使用如下提供的构建器来创建实例,以将pubsub发布到具有不同项目ID的主题。

function T = myfun2(...)
N = large number
A = zeros(N,4);
T = table(A(:,1), A(:,2:end),'VariableNames',{'scalar','vector'});
for i = 1:N
   do stuff
   T.scalar(i,:) = scalar_i;
   T.vector(i,:) = vector_i;
   % or in one line: T(i,:) = table(scalar_i, vector_i);
end

然后,您可以创建一个bean并在您的应用程序中将其自动连接以使用它。 尽管要使用带有多个项目ID的spring-cloud-gcp-pubsub,您可以参考this答案