2016-11-09 57 views
0

我正在使用Azure流分析將事件從事件中心傳輸到DocumentDB。 我已配置輸入,查詢輸出如記錄,用樣本數據進行測試,並設法返回結果如預期。使用DocumentDB作爲接收器在Azure流分析中獲取錯誤

但是當我開始流工作,較早發送相同的有效載荷作爲樣本數據,我得到這個錯誤信息:

有格式的文件[ID]列按DocumentDB約束問題DocumentDB db:[my-database-name]和集合:[my-collection-name]。

我的樣本數據是JSON的數組:

  • 輸入別名:eventhubs事件
  • 源類型

    [ 
    { "Sequence": 1, "Tenant": "T1", "Status": "Started" }, 
    { "Sequence": 2, "Tenant": "T1", "Status": "Ended" } 
    ] 
    

    我如下配置的輸入:數據流

  • 來源:Event Hub
  • 訂閱:相同的訂閱,那是我創建的分析工作
  • 服務總線命名空間:現有的事件中心的命名空間
  • 事件樞紐名:事件(命名空間中的現有事件集線器)
  • 事件樞紐策略名稱:具有讀取權限
  • 事件樞紐消費羣的策略:空白
  • 事件序列化格式:JSON
  • 編碼:UTF-8

和輸出如下:

  • 輸出別名:documentdb事件
  • 水槽:DocumentDB
  • 訂閱:與創建Google Analytics作業的地址相同
  • 帳戶ID:現有DocumentDB佔
  • 數據庫:記錄(在賬戶現有的數據庫)
  • 集合名稱模式:集合(在數據庫中現有的集合)
  • 文檔ID:ID

我的查詢很簡單,只要:

SELECT 
    event.Sequence AS id, 
    event.Tenant, 
    event.Status 
INTO [documentdb-events] 
FROM [eventhubs-events] AS event 

回答

3

原來輸出中的所有字段名稱都會自動設置爲小寫。

在我DocumentDB收藏,我已經配置在集合分區模式,與「/租客」作爲分區鍵。

由於案例與輸出不匹配,因此未能約束。

將分區鍵更改爲「/ tenant」修復了問題。

希望通過分享我的發現結果可以爲遇到此問題的人節省一些麻煩。

相關問題