Use CreateAsset with an AWS SDK or CLI - AWS SDK Code Examples

There are more AWS SDK examples available in the AWS Doc SDK Examples GitHub repo.

Use CreateAsset with an AWS SDK or CLI

The following code examples show how to use CreateAsset.

CLI
AWS CLI

To create an asset

The following create-asset example creates a wind turbine asset from a wind turbine asset model.

aws iotsitewise create-asset \ --asset-model-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \ --asset-name "Wind Turbine 1"

Output:

{ "assetId": "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE", "assetArn": "arn:aws:iotsitewise:us-west-2:123456789012:asset/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE", "assetStatus": { "state": "CREATING" } }

For more information, see Creating assets in the AWS IoT SiteWise User Guide.

  • For API details, see CreateAsset in AWS CLI Command Reference.

Java
SDK for Java 2.x
Note

There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository.

/** * Creates an asset with the specified name and asset model Id. * * @param assetName the name of the asset to create. * @param assetModelId the Id of the asset model to associate with the asset. * @return a {@link CompletableFuture} that represents a {@link CreateAssetResponse} result. The calling code can * attach callbacks, then handle the result or exception by calling {@link CompletableFuture#join()} or * {@link CompletableFuture#get()}. * <p> * If any completion stage in this method throws an exception, the method logs the exception cause and keeps it * available to the calling code as a {@link CompletionException}. By calling * {@link CompletionException#getCause()}, the calling code can access the original exception. */ public CompletableFuture<CreateAssetResponse> createAssetAsync(String assetName, String assetModelId) { CreateAssetRequest createAssetRequest = CreateAssetRequest.builder() .assetModelId(assetModelId) .assetDescription("Created using the AWS SDK for Java") .assetName(assetName) .build(); return getAsyncClient().createAsset(createAssetRequest) .whenComplete((response, exception) -> { if (exception != null) { logger.error("Failed to create asset: {}", exception.getCause().getMessage()); } }); }
  • For API details, see CreateAsset in AWS SDK for Java 2.x API Reference.

Python
SDK for Python (Boto3)
Note

There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository.

class IoTSitewiseWrapper: """Encapsulates AWS IoT SiteWise actions using the client interface.""" def __init__(self, iotsitewise_client: client) -> None: """ Initializes the IoTSitewiseWrapper with an AWS IoT SiteWise client. :param iotsitewise_client: A Boto3 AWS IoT SiteWise client. This client provides low-level access to AWS IoT SiteWise services. """ self.iotsitewise_client = iotsitewise_client self.entry_id = 0 # Incremented to generate unique entry IDs for batch_put_asset_property_value. @classmethod def from_client(cls) -> "IoTSitewiseWrapper": """ Creates an IoTSitewiseWrapper instance with a default AWS IoT SiteWise client. :return: An instance of IoTSitewiseWrapper initialized with the default AWS IoT SiteWise client. """ iotsitewise_client = boto3.client("iotsitewise") return cls(iotsitewise_client) def create_asset(self, asset_name: str, asset_model_id: str) -> str: """ Creates an AWS IoT SiteWise Asset. :param asset_name: The name of the asset to create. :param asset_model_id: The ID of the asset model to associate with the asset. :return: The ID of the created asset. """ try: response = self.iotsitewise_client.create_asset( assetName=asset_name, assetModelId=asset_model_id ) asset_id = response["assetId"] waiter = self.iotsitewise_client.get_waiter("asset_active") waiter.wait(assetId=asset_id) return asset_id except ClientError as err: if err.response["Error"] == "ResourceNotFoundException": logger.error("Asset model %s does not exist.", asset_model_id) else: logger.error( "Error creating asset %s. Here's why %s", asset_name, err.response["Error"]["Message"], ) raise
  • For API details, see CreateAsset in AWS SDK for Python (Boto3) API Reference.