Use DescribeThing with an Amazon SDK or CLI - Amazon IoT Core
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Use DescribeThing with an Amazon SDK or CLI

The following code examples show how to use DescribeThing.

C++
SDK for C++
Note

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

//! Describe an AWS IoT thing. /*! \param thingName: The name for the thing. \param clientConfiguration: AWS client configuration. \return bool: Function succeeded. */ bool AwsDoc::IoT::describeThing(const Aws::String &thingName, const Aws::Client::ClientConfiguration &clientConfiguration) { Aws::IoT::IoTClient iotClient(clientConfiguration); Aws::IoT::Model::DescribeThingRequest request; request.SetThingName(thingName); Aws::IoT::Model::DescribeThingOutcome outcome = iotClient.DescribeThing(request); if (outcome.IsSuccess()) { const Aws::IoT::Model::DescribeThingResult &result = outcome.GetResult(); std::cout << "Retrieved thing '" << result.GetThingName() << "'" << std::endl; std::cout << "thingArn: " << result.GetThingArn() << std::endl; std::cout << result.GetAttributes().size() << " attribute(s) retrieved" << std::endl; for (const auto &attribute: result.GetAttributes()) { std::cout << " attribute: " << attribute.first << "=" << attribute.second << std::endl; } } else { std::cerr << "Error describing thing " << thingName << ": " << outcome.GetError().GetMessage() << std::endl; } return outcome.IsSuccess(); }
  • For API details, see DescribeThing in Amazon SDK for C++ API Reference.

CLI
Amazon CLI

To display detailed information about a thing

The following describe-thing example display information about a thing (device) that is defined in the Amazon IoT registry for your Amazon account.

aws iot describe-thing --thing-name "MyLightBulb"

Output:

{ "defaultClientId": "MyLightBulb", "thingName": "MyLightBulb", "thingId": "40da2e73-c6af-406e-b415-15acae538797", "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyLightBulb", "thingTypeName": "LightBulb", "attributes": { "model": "123", "wattage": "75" }, "version": 1 }

For more information, see How to Manage Things with the Registry in the Amazon IoT Developers Guide.

  • For API details, see DescribeThing in Amazon 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 Amazon Code Examples Repository.

/** * Describes an IoT Thing asynchronously. * * @param thingName The name of the IoT Thing. * * This method initiates an asynchronous request to describe an IoT Thing. * If the request is successful, it prints the Thing details. * If an exception occurs, it prints the error message. */ private void describeThing(String thingName) { DescribeThingRequest thingRequest = DescribeThingRequest.builder() .thingName(thingName) .build(); CompletableFuture<DescribeThingResponse> future = getAsyncClient().describeThing(thingRequest); future.whenComplete((describeResponse, ex) -> { if (describeResponse != null) { System.out.println("Thing Details:"); System.out.println("Thing Name: " + describeResponse.thingName()); System.out.println("Thing ARN: " + describeResponse.thingArn()); } else { Throwable cause = ex != null ? ex.getCause() : null; if (cause instanceof IotException) { System.err.println(((IotException) cause).awsErrorDetails().errorMessage()); } else if (cause != null) { System.err.println("Unexpected error: " + cause.getMessage()); } else { System.err.println("Failed to describe Thing."); } } }); future.join(); }
  • For API details, see DescribeThing in Amazon SDK for Java 2.x API Reference.

Kotlin
SDK for Kotlin
Note

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

suspend fun describeThing(thingNameVal: String) { val thingRequest = DescribeThingRequest { thingName = thingNameVal } // Print Thing details. IotClient.fromEnvironment { region = "us-east-1" }.use { iotClient -> val describeResponse = iotClient.describeThing(thingRequest) println("Thing details:") println("Thing name: ${describeResponse.thingName}") println("Thing ARN: ${describeResponse.thingArn}") } }
  • For API details, see DescribeThing in Amazon SDK for Kotlin API reference.

For a complete list of Amazon SDK developer guides and code examples, see Using Amazon IoT with an Amazon SDK. This topic also includes information about getting started and details about previous SDK versions.