代码之家  ›  专栏  ›  技术社区  ›  Pankaj Rawat

使用PowerShell(SQL API)在Cosmos数据库中插入文档

  •  1
  • Pankaj Rawat  · 技术社区  · 7 年前

    当我试图在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”:这是我的分区键

    enter image description here

    调用WebRequest:远程服务器返回错误:(400)错误请求。 + ... estResult=Invoke WebRequest-UseBasicParsing@invokeWebQuestParam。。。 +CategoryInfo:invalidooperation:(System.Net.HttpWebRequest:HttpWebRequest)[调用WebRequest],WebException +fullyqualifiederroid:webmdletwebresponseexception,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

    有人知道吗??

    1 回复  |  直到 7 年前
        1
  •  0
  •   Jay Gong    7 年前

    我把你的文章转载给我。

    enter image description here

    基于参数列表 Get-Help New-CosmosDbDocument

    enter image description here

    你需要添加 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
    

    希望对你有帮助。

    推荐文章