本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
UpdateThing 搭配 AWSSDK 或 CLI 使用
下列程式碼範例示範如何使用 UpdateThing。
- .NET
-
- 適用於 .NET 的 SDK(v4)
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 /// <summary> /// Updates an IoT Thing with attributes. /// </summary> /// <param name="thingName">The name of the Thing to update.</param> /// <param name="attributes">Dictionary of attributes to add.</param> /// <returns>True if successful, false otherwise.</returns> public async Task<bool> UpdateThingAsync(string thingName, Dictionary<string, string> attributes) { try { var request = new UpdateThingRequest { ThingName = thingName, AttributePayload = new AttributePayload { Attributes = attributes, Merge = true } }; await _amazonIoT.UpdateThingAsync(request); _logger.LogInformation($"Updated Thing {thingName} with attributes"); return true; } catch (Amazon.IoT.Model.ResourceNotFoundException ex) { _logger.LogError($"Cannot update Thing - resource not found: {ex.Message}"); return false; } catch (Exception ex) { _logger.LogError($"Couldn't update Thing attributes. Here's why: {ex.Message}"); return false; } }-
如需 API 詳細資訊,請參閱《適用於 .NET 的 AWS SDK API 參考》中的 UpdateThing。
-
- C++
-
- 適用於 C++ 的 SDK
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 //! Update an AWS IoT thing with attributes. /*! \param thingName: The name for the thing. \param attributeMap: A map of key/value attributes/ \param clientConfiguration: AWS client configuration. \return bool: Function succeeded. */ bool AwsDoc::IoT::updateThing(const Aws::String &thingName, const std::map<Aws::String, Aws::String> &attributeMap, const Aws::Client::ClientConfiguration &clientConfiguration) { Aws::IoT::IoTClient iotClient(clientConfiguration); Aws::IoT::Model::UpdateThingRequest request; request.SetThingName(thingName); Aws::IoT::Model::AttributePayload attributePayload; for (const auto &attribute: attributeMap) { attributePayload.AddAttributes(attribute.first, attribute.second); } request.SetAttributePayload(attributePayload); Aws::IoT::Model::UpdateThingOutcome outcome = iotClient.UpdateThing(request); if (outcome.IsSuccess()) { std::cout << "Successfully updated thing " << thingName << std::endl; } else { std::cerr << "Failed to update thing " << thingName << ":" << outcome.GetError().GetMessage() << std::endl; } return outcome.IsSuccess(); }-
如需 API 詳細資訊,請參閱《適用於 C++ 的 AWS SDK API 參考》中的 UpdateThing。
-
- CLI
-
- AWS CLI
-
將物件類型與物件類型相關聯
下列
update-thing範例會將 AWSIoT 登錄檔中的物件與物件類型建立關聯。當您建立關聯時,您可以為實物類型定義的屬性提供值。aws iot update-thing \ --thing-name"MyOtherLightBulb"\ --thing-type-name"LightBulb"\ --attribute-payload "{"attributes": {"wattage":"75", "model":"123"}}"此命令未產生輸出。使用
describe-thing命令查看結果。如需詳細資訊,請參閱《AWS IoT 開發人員指南》中的實物類型。
-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdateThing
。
-
- Kotlin
-
- 適用於 Kotlin 的 SDK
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 suspend fun updateThing(thingNameVal: String?) { val newLocation = "Office" val newFirmwareVersion = "v2.0" val attMap: MutableMap<String, String> = HashMap() attMap["location"] = newLocation attMap["firmwareVersion"] = newFirmwareVersion val attributePayloadVal = AttributePayload { attributes = attMap } val updateThingRequest = UpdateThingRequest { thingName = thingNameVal attributePayload = attributePayloadVal } IotClient.fromEnvironment { region = "us-east-1" }.use { iotClient -> // Update the IoT thing attributes. iotClient.updateThing(updateThingRequest) println("$thingNameVal attributes updated successfully.") } }-
如需 API 詳細資訊,請參閱《適用於 Kotlin 的 AWS SDK API 參考》中的 UpdateThing
。
-
如需 AWSSDK 開發人員指南和程式碼範例的完整清單,請參閱 AWS IoT搭配 AWSSDK 使用。此主題也包含有關入門的資訊和舊版 SDK 的詳細資訊。
UpdateIndexingConfiguration
AWS IoT 配額