Megosztás a következőn keresztül:


Címkék hozzáadása digitális ikerpéldányokhoz

Ez a cikk bemutatja, hogyan adhat hozzá különböző típusú címkéket modellekhez és digitális ikerpéldányokhoz, és hogyan kérdezheti le a címkéket.

A címkék fogalmával tovább azonosíthatja és kategorizálhatja digitális ikerpéldányait. A felhasználók különösen a meglévő rendszerekből, például a Haystack Címkékből szeretnének címkéket replikálni az Azure Digital Twins-példányaikon belül.

Ez a dokumentum olyan mintákat ismertet, amelyek címkék digitális ikerpéldányokon való implementálásához használhatók.

A címkék először a digitális ikerpéldányt leíró modell tulajdonságaiként lesznek hozzáadva. Ez a tulajdonság ezután az ikerpéldányon lesz beállítva, amikor a modell alapján jön létre. Ezt követően a címkék a lekérdezésekben használhatók az ikerpéldányok azonosítására és szűrésére.

Jelölőcímkék

A jelölőcímke egy egyszerű sztring, amely egy digitális ikerpéldány megjelölésére vagy kategorizálására szolgál, például "kék" vagy "piros". Ez a sztring a címke neve, és a jelölőcímkéknek nincs jelentőségteljes értéke – a címke csak a jelenléte (vagy hiánya) miatt jelentős.

Jelölőcímkék hozzáadása a modellhez

A jelölőcímkék DTDL-térképként vannak modellve.string boolean A logikai mapValue érték figyelmen kívül lesz hagyva, mivel a címke jelenléte minden, ami fontos.

Íme egy részlet egy ikermodellből, amely egy jelölőcímkét implementál tulajdonságként:

{
      "@type": "Property",
      "name": "tags",
      "schema": {
        "@type": "Map",
        "mapKey": {
          "name": "tagName",
          "schema": "string"
        },
        "mapValue": {
          "name": "tagValue",
          "schema": "boolean"
        }
      }
    },

Jelölőcímkék hozzáadása digitális ikerpéldányokhoz

Ha a tags tulajdonság egy digitális ikerpéldány modelljének része, a tulajdonság értékének beállításával beállíthatja a jelölőcímkét a digitális ikerpéldányban.

Íme egy kódpéldája annak, hogyan állíthat be jelölőt tags egy ikerpéldányhoz a .NET SDK használatával:

IDictionary<string, bool> tags = new Dictionary<string, bool>
{
    { "oceanview", true },
    { "VIP", true }
};
var twin = new BasicDigitalTwin
{
    Metadata = { ModelId = "dtmi:example:Room;1" },
    Contents =
    {
        { "Temperature", 75 },
        { "tags", tags },
    },
};
await client.CreateOrReplaceDigitalTwinAsync<BasicDigitalTwin>("myTwinID", twin);

Miután létrehozott egy ikerpéldányt a fenti példa szerint címketulajdonságokkal, az ikerpéldány a következőképpen fog kinézni:

{
  "$dtId": "myTwinID",
  "$etag": "W/\"e7429259-6833-46b4-b443-200a77a468c2\"",
  "$metadata": {
    "$model": "dtmi:example:Room;1",
    "Temperature": {
      "lastUpdateTime": "2021-08-03T14:24:42.0850614Z"
    },
    "tags": {
      "lastUpdateTime": "2021-08-03T14:24:42.0850614Z"
    }
  },
  "Temperature": 75,
  "tags": {
    "VIP": true,
    "oceanview": true
  }
}

Tipp.

Az ikerpéldány JSON-ábrázolását a parancssori felülettel vagy API-kkal való lekérdezéssel tekintheti meg.

Lekérdezés jelölőcímkékkel

Miután hozzáadta a címkéket a digitális ikerpéldányokhoz, a címkék segítségével szűrheti az ikerpéldányokat a lekérdezésekben.

Az alábbiakban egy lekérdezést talál, amely lekérdezi a "piros" címkével ellátott összes ikerpéldányt:

SELECT * FROM DIGITALTWINS WHERE IS_DEFINED(tags.red)

Összetettebb lekérdezésekhez is kombinálhat címkéket. Az alábbiakban egy lekérdezést talál, amely lekéri az összes kerek ikerpéldányt, és nem pirosat:

SELECT * FROM DIGITALTWINS WHERE NOT IS_DEFINED(tags.red) AND IS_DEFINED(tags.round)

Értékcímkék

Az értékcímke egy kulcs-érték pár, amely az egyes címkék értékének adására szolgál, például "color": "blue" vagy "color": "red". Az értékcímke létrehozása után a címke értékének figyelmen kívül hagyásával jelölőcímkeként is használható.

Értékcímkék hozzáadása a modellhez

Az értékcímkéket DTDL-leképezésként modellezheti a rendszerstring.string Mind a mapKey mapValue kettő jelentős.

Íme egy részlet egy ikermodellből, amely tulajdonságként implementál egy értékcímkét:

{
  "@type": "Property",
  "name": "tags",
  "schema": {
    "@type": "Map",
    "mapKey": {
      "name": "tagName",
      "schema": "string"
    },
    "mapValue": {
      "name": "tagValue",
      "schema": "string"
    }
  }
}

Értékcímkék hozzáadása digitális ikerpéldányokhoz

A jelölőcímkékhez hasonlóan az értékcímkét is beállíthatja egy digitális ikerpéldányban a tags tulajdonság értékének a modellből való beállításával. Ha értékcímkét szeretne használni jelölőcímkeként, beállíthatja a tagValue mezőt üres sztringértékre ("").

Az alábbiakban két ikerpéldány JSON-testét láthatjuk, amelyek méretüknek megfelelően értékcímkéket tartalmaznak. A példában szereplő ikerpéldányok "piros" vagy "lila" értékcímkéket is tartalmaznak, amelyeket jelölőcímkékként használnak.

Iker 1. példa, nagy méretű értékcímkével és "piros" jelölőcímkével:

{
  "$dtId": "Twin1",
  "$etag": "W/\"d3997593-cc5f-4d8a-8683-957becc2bcdd\"",
  "$metadata": {
    "$model": "dtmi:example:ValueTags;1",
    "tags": {
      "lastUpdateTime": "2021-08-03T14:43:02.3150852Z"
    }
  },
  "tags": {
    "red": "",
    "size": "large"
  }
}

Iker 2. példa, kis méretű értékcímkével és "lila" jelölőcímkével:

{
  "$dtId": "Twin2",
  "$etag": "W/\"e215e586-b14a-4234-8ddb-be69ebfef878\"",
  "$metadata": {
    "$model": "dtmi:example:ValueTags;1",
    "tags": {
      "lastUpdateTime": "2021-08-03T14:43:53.1517123Z"
    }
  },
  "tags": {
    "purple": "",
    "size": "small"
  }
}

Lekérdezés értékcímkékkel

A jelölőcímkékhez hasonlóan értékcímkék használatával is szűrheti az ikerpéldányokat a lekérdezésekben. Értékcímkéket és jelölőcímkéket is használhat együtt.

A fenti red példában jelölőcímkeként használjuk. Ne feledje, hogy ez egy lekérdezés, amely lekérdezi a "piros" címkével ellátott összes ikerpéldányt:

SELECT * FROM DIGITALTWINS WHERE IS_DEFINED(tags.red)

Az alábbiakban egy lekérdezést talál, amely lekérdezi az összes kis méretű entitást (értékcímkét), és nem pirosat:

SELECT * FROM DIGITALTWINS WHERE NOT IS_DEFINED(tags.red) AND tags.size = 'small'

Következő lépések

További információ a digitális ikermodellek tervezéséről és kezeléséről:

További információ az ikergráf lekérdezéséről: