Amazon web services 如何在Amazon Cognito和其他微服务之间建立关系?
我是AWS的新手,正在使用微服务架构制作一些大型应用程序。我使用Cognito用户+身份池进行授权。组织有分支机构,分支机构有职位,例如项目经理、财务经理和属于这些分支机构和职位之一的用户。用户存储在Cognito用户池中。我有组织微服务的EC2和RDS,我将使用AWS API网关和IAM基于角色的访问控制在微服务之间进行通信,但我如何在组织和用户微服务之间建立关系 我打算使用Cognito自定义属性,例如Amazon web services 如何在Amazon Cognito和其他微服务之间建立关系?,amazon-web-services,microservices,aws-api-gateway,amazon-cognito,Amazon Web Services,Microservices,Aws Api Gateway,Amazon Cognito,我是AWS的新手,正在使用微服务架构制作一些大型应用程序。我使用Cognito用户+身份池进行授权。组织有分支机构,分支机构有职位,例如项目经理、财务经理和属于这些分支机构和职位之一的用户。用户存储在Cognito用户池中。我有组织微服务的EC2和RDS,我将使用AWS API网关和IAM基于角色的访问控制在微服务之间进行通信,但我如何在组织和用户微服务之间建立关系 我打算使用Cognito自定义属性,例如custom:branch=branchId,但是如果我需要获取这个分支的用户,那是不可能
custom:branch=branchId
,但是如果我需要获取这个分支的用户,那是不可能的。从Cognito文档:
自定义属性不可搜索
对于关系cognito_user_id | branch_id
,我应该使用DynamoDB表,还是使用更好的方法
如何获取单分支用户、如何获取单组织用户以及在何处编写此代码?AWS lambda with DynamoDB?如果您没有在organization micro service的RDS上添加表的限制,我会说不要使用DynamoDB,因为它是一个额外的组件,并且您的系统比NoSQL更好地支持关系数据库。此外,dynamodb的另一个先决条件是必须了解数据访问模式 创建具有一对多关系的组织和分支表,作为单独的微服务。用户将被分配到分支机构
您应该将这些共享逻辑作为服务写入lambda,并且lambda将被组织和用户服务调用。我知道这将花费额外的集成工作。但是,它比添加像dynamodb这样的新服务要好得多。如果您没有在organization micro service的RDS上添加表的限制,我会说不要使用dynamodb,因为它是一个额外的组件,并且您的系统比NoSQL更好地支持关系数据库。此外,dynamodb的另一个先决条件是必须了解数据访问模式 创建具有一对多关系的组织和分支表,作为单独的微服务。用户将被分配到分支机构
您应该将这些共享逻辑作为服务写入lambda,并且lambda将被组织和用户服务调用。我知道这将花费额外的集成工作。然而,这比添加诸如dynamodb之类的新服务要好得多。您认为用户将被分配到分支机构是什么意思?正如你所说,我与组织和分支机构有一对多的关系,但如何将用户分配给分支机构呢?1.在Cognito中添加一个自定义属性,并将branchId写入其中2。在组织RDS中创建用户分支表?是。。。。。。。。。。您将用户分配到分支机构是什么意思?正如你所说,我与组织和分支机构有一对多的关系,但如何将用户分配给分支机构呢?1.在Cognito中添加一个自定义属性,并将branchId写入其中2。在组织RDS中创建用户分支表?是。。。。。。。。。。