Configurazioni e integrazioni avanzate > Visualizzazione dei dati dell'hub IoT di Azure come valori di proprietà in un asset
Visualizzazione dei dati dell'hub IoT di Azure come valori di proprietà in un asset
È possibile visualizzare i dati dell'hub IoT di Azure come valori di proprietà di un asset utilizzando ThingWorx Composer.
Prerequisiti
Java Runtime Environment (JRE) 1.8 o versione successiva.
ThingWorx Composer 8.3.0 o versione successiva con ThingWorx Apps installato.
Estensione del connettore IoT di Azure installata in ThingWorx.
Scaricare l'estensione da PTC Marketplace.
Per ulteriori informazioni, vedere ThingWorx Azure IoT Hub Connector Help Center.
Hub IoT di Azure installato.
Una chiave di accesso di ThingWorx creata per il connettore hub IoT di Azure di ThingWorx, ad esempio azure_appkey.
Per visualizzare i dati dell'hub IoT di Azure per le proprietà degli asset
* 
Per visualizzare un oggetto hub IoT di Azure come asset in ThingWorx Apps, senza rendere l'hub IoT di Azure esplorabile dal componente comune di selezione tag, è sufficiente modificare l'oggetto per aggiungere le Shape implementate elencate al passo 3. Il resto della procedura descritta di seguito può essere ignorato.
1. In ThingWorx Composer, creare un nuovo modello di oggetto provider d risorse, per aggiungere la connessione Hub IoT di Azure all'elenco a discesa Tipo di impianto nel componente comune di selezione tag.
Nome - Nome del modello di oggetto, ad esempio AzureIot_ResourceProvider_ThingTemplate.
Modello di oggetto di base - PTC.SCA.SCO.EquipmentResourceProviderTemplate
Shape implementate - PTC.SCA.SCO.RemoteConnectionResourceProviderThingShape
In Servizi fare clic su per sostituire il servizio GetConnectedServers con il codice riportato di seguito. Le interruzioni di riga e gli spazi nel codice seguente sono stati aggiunti per migliorare la presentazione. Se si taglia e si incolla il codice, rimuovere questi caratteri prima di tentare di utilizzare il codice nell'applicazione.
var params = {
infoTableName : "InfoTable",
dataShapeName : "PTC.Factory.OPCDAServerNames"
};
var infoTableWithName = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);


var params = {
columnName: "ResourceProviderName",
value: me.name
};

// result: INFOTABLE dataShape: PTC.SCA.SCO.RemoteConnectionSettingsTableDataShape
var result = Things["PTC.Factory.LaunchPointConfigurationThing"].
GetRemoteConnectionTableRowByStringProperty(params);

var thingTemplateName;
if (result) {
thingTemplateName = result.getRow(0).RemoteConnectionThingTemplateName;
}

var paramsForThingTemplate = {
maxItems : 1000,
nameMask : undefined,
query : undefined,
thingTemplate : thingTemplateName,
tags : undefined
};
var thingsWithTemplate = Resources["SearchFunctions"].SearchThingsByTemplate(paramsForThingTemplate);
for (var i = 0; i < thingsWithTemplate.rows.length; i++) {
var row = thingsWithTemplate.rows[i];
// infotable datashape iteration
var name = row.name;
var isThingEnabled = Things[name].IsEnabled();
if (name !== "" && name !== null && isThingEnabled) {
var serverName = row.ServerName;
var rowObject = new Object();
rowObject.Name = name;
if (serverName === null || serverName === undefined || serverName === "") {
serverName = name;
}
rowObject.ServerName = serverName;
infoTableWithName.AddRow(rowObject);
}
}
result = infoTableWithName;
Per informazioni sugli altri servizi correlati alla thing shape PTC.SCA.SCO.RemoteConnectionResourceProviderThingShape, vedere il passo 1 in Esplorare i dati da connettori personalizzati.
2. Creare un oggetto provider di risorse che implementa il modello di oggetto creato al passo 1.
Nome - Ad esempio AzureIot_ResourceProviderThing.
Modello di oggetto di base - Specificare il nuovo modello di oggetto creato al passo 1. In questo esempio AzureIot_ResourceProvider_ThingTemplate.
3. Creare un modello di oggetto da utilizzare per la creazione di asset (oggetti) hub IoT di Azure con le impostazioni descritte di seguito.
Nome - Ad esempio AzureIot_RemoteThing_ThingTemplate.
Descrizione - Descrizione del modello di oggetto.
Modello di oggetto di base - AzureIotThing (o qualsiasi modello di oggetto che si estende da AzureIotThing).
Shape implementate - Implementare tutte le thing shape necessarie elencate per gli asset in Creazione di modelli di oggetto personalizzati per tipi di impianto.
4. Definire un tipo di impianto per gli asset dell'hub IoT di Azure nella tabella di configurazione EquipmentTypeSettings in PTC.Factory.C_LaunchPointconfigurationThing_[VersioneRelease] seguendo le istruzioni riportate in Creazione di strutture e tipi di impianto personalizzati.
Per il valore ThingTemplate, specificare il modello di oggetto creato al passo 3.
Per il valore ResourceProvider, specificare il provider di risorse creato al passo 2.
5. Aggiungere il tipo di connessione Hub IoT di Azure all'oggetto di configurazione dei punti di avvio.
a. Aprire PTC.Factory.C_LaunchPointConfigurationThing_[VersioneRelease].
b. Aggiungere una nuova riga alla tabella RemoteConnectionSettings con le seguenti impostazioni:
ConnectionType - Immettere il nome che si desidera che venga visualizzato per il tipo di connessione Hub IoT di Azure nella finestra Crea connessione in Controls Advisor, ad esempio AzureIot.
ResourceProviderName - Immettere l'oggetto provider di risorse creato al passo 2. In questo esempio, AzureIot_ResourceProviderThing.
RemoteConnectionThingTemplateName - Selezionare il modello di oggetto AzureIotThing.
EnabledInControlsAdvisor - Assicurarsi che questa casella di controllo sia deselezionata.
EnabledInTagPicker - Selezionare questa casella di controllo per rendere il tipo di connessione visibile nel componente di selezione tag.
* 
Se si crea un asset basato sul modello di oggetto AzureIotThing come oggetto in ThingWorx Composer, è necessario impostare la proprietà displayName sull'oggetto in modo che l'asset venga visualizzato correttamente in ThingWorx Apps. Se gli asset vengono creati da Configurazione e impostazione > Impianto in ThingWorx Apps, questa proprietà viene impostata automaticamente.