AWS SDK またはコマンドラインツールGetThingShadowで を使用する - AWS SDK コード例

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub


AWS SDK またはコマンドラインツールGetThingShadowで を使用する

以下のコード例は、GetThingShadow の使用方法を示しています。

SDK for C++

には他にもがあります GitHub。AWS コード例リポジトリ で全く同じ例を見つけて、設定と実行の方法を確認してください。

//! Get the shadow of an AWS IoT thing. /*! \param thingName: The name for the thing. \param documentResult: String to receive the state information, in JSON format. \param clientConfiguration: AWS client configuration. \return bool: Function succeeded. */ bool AwsDoc::IoT::getThingShadow(const Aws::String &thingName, Aws::String &documentResult, const Aws::Client::ClientConfiguration &clientConfiguration) { Aws::IoTDataPlane::IoTDataPlaneClient iotClient(clientConfiguration); Aws::IoTDataPlane::Model::GetThingShadowRequest request; request.SetThingName(thingName); auto outcome = iotClient.GetThingShadow(request); if (outcome.IsSuccess()) { std::stringstream ss; ss << outcome.GetResult().GetPayload().rdbuf(); documentResult = ss.str(); } else { std::cerr << "Error getting thing shadow: " << outcome.GetError().GetMessage() << std::endl; } return outcome.IsSuccess(); }
  • API の詳細については、「 API リファレンスGetThingShadow」の「」を参照してください。 AWS SDK for C++


Thing Shadow ドキュメントを取得するには

次のget-thing-shadow例では、指定された IoT モノのモノシャドウドキュメントを取得します。

aws iot-data get-thing-shadow \ --thing-name MyRPi \ output.txt

このコマンドはディスプレイに出力を生成しませんが、次は の内容を示していますoutput.txt

{ "state":{ "reported":{ "moisture":"low" } }, "metadata":{ "reported":{ "moisture":{ "timestamp":1560269319 } } }, "version":1,"timestamp":1560269405 }

詳細については、「 IoT デベロッパーガイド」の「Device Shadow Service データフロー」を参照してください。 AWS IoT

  • API の詳細については、「 コマンドリファレンスGetThingShadow」の「」を参照してください。 AWS CLI

SDK for Java 2.x

には他にもがあります GitHub。AWS コード例リポジトリ で全く同じ例を見つけて、設定と実行の方法を確認してください。

public static void getPayload(IotDataPlaneClient iotPlaneClient, String thingName) { try { GetThingShadowRequest getThingShadowRequest = GetThingShadowRequest.builder() .thingName(thingName) .build(); GetThingShadowResponse getThingShadowResponse = iotPlaneClient.getThingShadow(getThingShadowRequest); // Extracting payload from response. SdkBytes payload = getThingShadowResponse.payload(); String payloadString = payload.asUtf8String(); System.out.println("Received Shadow Data: " + payloadString); } catch (IotException e) { System.err.println(e.getMessage()); System.exit(1); } }
  • API の詳細については、「 API リファレンスGetThingShadow」の「」を参照してください。 AWS SDK for Java 2.x

SDK for Kotlin

には他にもがあります GitHub。AWS コード例リポジトリ で全く同じ例を見つけて、設定と実行の方法を確認してください。

suspend fun getPayload(thingNameVal: String?) { val getThingShadowRequest = GetThingShadowRequest { thingName = thingNameVal } IotDataPlaneClient { region = "us-east-1" }.use { iotPlaneClient -> val getThingShadowResponse = iotPlaneClient.getThingShadow(getThingShadowRequest) val payload = getThingShadowResponse.payload val payloadString = payload?.let { java.lang.String(it, Charsets.UTF_8) } println("Received shadow data: $payloadString") } }
  • API の詳細については、GetThingShadowAWS 「 SDK for Kotlin API リファレンス」の「」を参照してください。