簡體   English   中英

關於更新 eventNotificationCriteria 的查詢<subscription>資源

[英]Query regarding update of eventNotificationCriteria of <subscription> resource

如果有一個<訂閱>資源的更新請求修改某些條件(如createdBefore,createdAfter)eventNotificationCriteria屬性的(ENC),然后被eventNotificationCriteria屬性的所有現有的條件進行更換或只是條件請求中的存在已被修改?

例如

  1. <subscription> 資源是使用enc屬性創建的,如下所示:

     "enc": { "crb": "20191130T142810", "cra": "20191129T140000", "net": [ 1, 2, 3, 4, 5 ] }
  2. 更新 <subscription> 的enc屬性:

     "enc": { "ms": "20191129T140000", "us": "20191130T142810", "net": [ 1, 2, 3, 4, 5 ] }

對 <subscription> 資源中enc更新的可能響應

響應 1:

"enc": {
    "crb": "20191130T142810",
    "cra": "20191129T140000",
    "ms": "20191129T140000",
    "us": "20191130T142810"
    "net": [
        1,
        2,
        3,
        4,
        5
    ]
}

回應 2:

"enc": {
    "ms": "20191129T140000",
    "us": "20191130T142810",
    "net": [
        1,
        2,
        3,
        4,
        5
    ]
}

哪個是正確的,響應 1 還是響應 2?

TL; 博士
將下面提到的規范應用於您的示例,響應 2將是正確的。 對 <subscription> 資源的eventNotificationCriteria屬性的更新會將現有值替換為更新后的值。

TS;WM
有時,確定更新期間會發生什么並不容易。 如果沒有另外說明, TS-0001 - 功能架構中規定的一般程序,第 8.1.2 節:請求適用:

更新 (U):現有 To 可尋址資源的內容被替換為內容參數中的新內容。 如果目標資源中不存在 Content 參數中的某些屬性,則使用分配的值創建這些屬性。 如果 Content 參數中的某些屬性設置為 NULL,則這些屬性將從尋址資源中刪除。

對於操作相關參數:

更新(U):內容是現有資源中要替換的內容。 對於要在資源上更新的屬性,內容包括這些屬性的名稱及其新值。 對於要在資源上創建的屬性,內容包括這些屬性的名稱及其關聯的值。 對於要在資源中刪除的屬性,Content 包括這些屬性的名稱,其值設置為 NULL。

但是,您還應該始終查看TS-0004 - 服務層核心協議 例如,在第7.4.8.2:<subscription> 資源特定和 CRUD 操作的非常詳細的過程中,您將找到 <subscription> 資源上的 CRUD 操作的細節。

更新

我認為有必要進一步討論以強調 #1 不正確的原因是因為enc是一個復雜的屬性。 由於所有這些值都是單個屬性的一部分,因此上述規則適用。 如果使用簡單的屬性執行類似的更新操作,則屬性的“合並”是正確的,類似於響應 #1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM