在 yaml 中定义 Cosmos 合成分区键
Defining a Cosmos synthetic partition key in yaml
我正在使用 yaml 文件设置 Azure Cosmos DB,目前我正在将分区键路径设置为 /serialNumber。我现在想使用 tenantId 和 serialNumber 的合成分区键,但找不到任何有关如何在 yaml 中定义合成键的示例。谁能给我举个例子说明如何做到这一点?
我的 yaml 是:
az cosmosdb sql container create -g $resourceGroup -a $cosmosAccountName -d $databaseName -n $containerName `
--partition-key-path "/serialNumber" | Out-Null ; Test-Exit
我正在保存的对象有以下字段:
Guid tenantid;
string serialNumber;
List<Users> users;
根据 Cosmos DB 中的最佳实践,对于分区键,您应该选择一个可能具有许多不同值的属性,以避免创建热分区等情况。
如果该属性在您的数据中不可用,Cosmos DB 团队建议创建一个 synthetic partition key
。当他们谈论 synthetic partition key
时,他们真正的意思是将存储在该分区键中的数据。您可以将该分区键属性命名为您喜欢的任何名称。
根据您的情况,您的数据如下所示:
{
"tenantId": "some guid",
"serialNumber": "some string",
"users": [
//Array of users
]
}
现在,如果您认为 tenantId
和 serialNumber
都不是分区键的好选择,您可以在文档中添加另一个属性(例如 _partitionKey
)并将其值设置为tenantId Value + serialNumber value
。在这种情况下,_partitionKey
将是合成分区键。
您生成的文档将如下所示:
{
"tenantId": "some guid",
"serialNumber": "some string",
"_partitionKey": "<tenantId value>_<serialNumber value>"
"users": [
//Array of users
]
}
您的 YAML 看起来像:
az cosmosdb sql container create -g $resourceGroup -a $cosmosAccountName -d $databaseName -n $containerName `
--partition-key-path "/_partitionKey" | Out-Null ; Test-Exit
有关合成分区键的更多信息,请参阅此link:https://docs.microsoft.com/en-us/azure/cosmos-db/synthetic-partition-keys。
我正在使用 yaml 文件设置 Azure Cosmos DB,目前我正在将分区键路径设置为 /serialNumber。我现在想使用 tenantId 和 serialNumber 的合成分区键,但找不到任何有关如何在 yaml 中定义合成键的示例。谁能给我举个例子说明如何做到这一点?
我的 yaml 是:
az cosmosdb sql container create -g $resourceGroup -a $cosmosAccountName -d $databaseName -n $containerName `
--partition-key-path "/serialNumber" | Out-Null ; Test-Exit
我正在保存的对象有以下字段:
Guid tenantid;
string serialNumber;
List<Users> users;
根据 Cosmos DB 中的最佳实践,对于分区键,您应该选择一个可能具有许多不同值的属性,以避免创建热分区等情况。
如果该属性在您的数据中不可用,Cosmos DB 团队建议创建一个 synthetic partition key
。当他们谈论 synthetic partition key
时,他们真正的意思是将存储在该分区键中的数据。您可以将该分区键属性命名为您喜欢的任何名称。
根据您的情况,您的数据如下所示:
{
"tenantId": "some guid",
"serialNumber": "some string",
"users": [
//Array of users
]
}
现在,如果您认为 tenantId
和 serialNumber
都不是分区键的好选择,您可以在文档中添加另一个属性(例如 _partitionKey
)并将其值设置为tenantId Value + serialNumber value
。在这种情况下,_partitionKey
将是合成分区键。
您生成的文档将如下所示:
{
"tenantId": "some guid",
"serialNumber": "some string",
"_partitionKey": "<tenantId value>_<serialNumber value>"
"users": [
//Array of users
]
}
您的 YAML 看起来像:
az cosmosdb sql container create -g $resourceGroup -a $cosmosAccountName -d $databaseName -n $containerName `
--partition-key-path "/_partitionKey" | Out-Null ; Test-Exit
有关合成分区键的更多信息,请参阅此link:https://docs.microsoft.com/en-us/azure/cosmos-db/synthetic-partition-keys。