Asset ​
The Asset resource lets you manage AWS IoTSiteWise Assets and their properties, enabling you to model physical assets in your IoT applications.
Minimal Example ​
Create a basic IoTSiteWise Asset with required properties and a common optional property.
ts
import AWS from "alchemy/aws/control";
const basicAsset = await AWS.IoTSiteWise.Asset("basicAsset", {
assetModelId: "assetModel123",
assetName: "Plant01",
assetDescription: "Primary production plant asset",
assetExternalId: "plant-01-external",
tags: [
{ key: "location", value: "factory" }
]
});
Advanced Configuration ​
Configure an Asset with additional properties including custom asset properties and hierarchies.
ts
const advancedAsset = await AWS.IoTSiteWise.Asset("advancedAsset", {
assetModelId: "assetModel456",
assetName: "Pump01",
assetDescription: "High-efficiency water pump",
assetProperties: [
{
name: "OperationalStatus",
dataType: "STRING",
type: { type: "PROPERTY" }
},
{
name: "FlowRate",
dataType: "DOUBLE",
type: { type: "PROPERTY" }
}
],
assetHierarchies: [
{
hierarchyId: "PlantHierarchy",
childAssetId: "advancedAsset"
}
]
});
Adoption of Existing Resource ​
If you need to adopt an existing Asset instead of creating a new one, you can set the adopt property to true.
ts
const adoptingExistingAsset = await AWS.IoTSiteWise.Asset("existingAsset", {
assetModelId: "assetModel789",
assetName: "ExistingAsset01",
adopt: true
});
Using Tags for Organization ​
Create an Asset with multiple tags to help with organization and management.
ts
const taggedAsset = await AWS.IoTSiteWise.Asset("taggedAsset", {
assetModelId: "assetModel321",
assetName: "Sensor01",
tags: [
{ key: "sensorType", value: "temperature" },
{ key: "location", value: "warehouse" },
{ key: "status", value: "active" }
]
});