当我尝试在具有分区键的 Cosmos DB 集合中插入数据时出现错误。
没有分区键,它工作正常
$resourceGroupName = "myrg"
$cosmosDbAccountName = "mydb"
$databaseName = "test"
$cosmosDbContext = New-CosmosDbContext -Account $cosmosDbAccountName -
Database $databaseName -ResourceGroup $resourceGroupName
New-CosmosDbCollection -Context $cosmosDbContext -Id 'events' -OfferThroughput 1000 -PartitionKey 'RuleType' -DefaultTimeToLive 604800
$document = @"
{
"id": "$([Guid]::NewGuid().ToString())",
"createTime": "2018-05-21T22:59:59.999Z",
"RuleType": "FTOD"
}
"@
New-CosmosDbDocument -Context $cosmosDbContext -CollectionId 'events' -
DocumentBody $document -PartitionKey 'RuleType'
“RuleType”:这是我的分区键
Invoke-WebRequest :远程服务器返回错误:(400) 错误请求。在 C:\Program Files\WindowsPowerShell\Modules\CosmosDB\2.1.4.536\lib\utils.ps1:554 char:30 + ... estResult = Invoke-WebRequest -UseBasicParsing @invokeWebRequestParam ... + ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException +fullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
有人知道这件事吗??
我在我这边复制了你的问题。
根据Get-Help New-CosmosDbDocument
命令显示的参数列表:
您需要添加partitionkey
并且您可以成功插入文档。
$resourceGroupName = "***"
$cosmosDbAccountName = "***"
$databaseName = "db"
$cosmosDbContext = New-CosmosDbContext -Account $cosmosDbAccountName -Database $databaseName -ResourceGroup $resourceGroupName
$document = @"
{
"id": "6fa9b3d5-ce1a-4b38-9068-9d17de5b1c69",
"createTime": "2018-05-21T22:59:59.999Z",
"RuleType": "FTOD"
}
"@
$partitionkey = "FTOD"
New-CosmosDbDocument -Context $cosmosDbContext -CollectionId 'part' -DocumentBody $document -PartitionKey $partitionkey
希望对你有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句