Partition key有多种值时如何使用dynamodb:LeadingKeys
How to use dynamodb:LeadingKeys when Partition key has more than one kind of values
我的 Dynamo 表在我的多租户应用程序中将 tenant_id 作为分区键,但我的分区键除了 tenant_id 之外还有其他类型的实体。
例如:(这是一个小例子,我们一直在使用这个模式)
PK SK Att
Customer-4312a674-54a user-abc 672453782
user-abc user-abc 672453782
我想使用 dynamodb:LeadingKeys
来确保一个租户的数据永远不会被另一个租户访问。在这种情况下,当 PK
超载并且其中还有其他实体时,我该如何处理。
在多租户系统中,我的建议是将租户 ID 作为前缀添加到属于该租户的 所有 项目的分区键。这样您就可以使用 dynamodb:LeadingKeys
条件进行访问控制。
租户 ID 应该在每次查询的查询时都知道,我猜它可能存储在会话信息中。这意味着您可以将租户 ID 添加到每个键,并且仍然进行分区键重载。
我的 Dynamo 表在我的多租户应用程序中将 tenant_id 作为分区键,但我的分区键除了 tenant_id 之外还有其他类型的实体。
例如:(这是一个小例子,我们一直在使用这个模式)
PK SK Att
Customer-4312a674-54a user-abc 672453782
user-abc user-abc 672453782
我想使用 dynamodb:LeadingKeys
来确保一个租户的数据永远不会被另一个租户访问。在这种情况下,当 PK
超载并且其中还有其他实体时,我该如何处理。
在多租户系统中,我的建议是将租户 ID 作为前缀添加到属于该租户的 所有 项目的分区键。这样您就可以使用 dynamodb:LeadingKeys
条件进行访问控制。
租户 ID 应该在每次查询的查询时都知道,我猜它可能存储在会话信息中。这意味着您可以将租户 ID 添加到每个键,并且仍然进行分区键重载。