A low-level client representing AWS IoT Data Plane
AWS IoT-Data enables secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. It implements a broker for applications and things to publish messages over HTTP (Publish) and retrieve, update, and delete shadows. A shadow is a persistent representation of your things and their state in the AWS cloud.
Find the endpoint address for actions in the AWS IoT data plane by running this CLI command:
aws iot describe-endpoint --endpoint-type iot:Data-ATS
The service name used by AWS Signature Version 4 to sign requests is: iotdevicegateway .
import boto3
client = boto3.client('iot-data')
These are the available methods:
-
can_paginate(operation_name)
Check if an operation can be paginated.
- Parameters
- operation_name (string) -- The operation name. This is the same name
as the method name on the client. For example, if the
method name is create_foo, and you'd normally invoke the
operation as client.create_foo(**kwargs), if the
create_foo operation can be paginated, you can use the
call client.get_paginator("create_foo").
- Returns
- True if the operation can be paginated,
False otherwise.
-
delete_thing_shadow(**kwargs)
Deletes the shadow for the specified thing.
For more information, see DeleteThingShadow in the AWS IoT Developer Guide.
See also: AWS API Documentation
Request Syntax
response = client.delete_thing_shadow(
thingName='string',
shadowName='string'
)
- Parameters
- thingName (string) --
[REQUIRED]
The name of the thing.
- shadowName (string) -- The name of the shadow.
- Return type
dict
- Returns
Response Syntax
{
'payload': StreamingBody()
}
Response Structure
Exceptions
- IoTDataPlane.Client.exceptions.ResourceNotFoundException
- IoTDataPlane.Client.exceptions.InvalidRequestException
- IoTDataPlane.Client.exceptions.ThrottlingException
- IoTDataPlane.Client.exceptions.UnauthorizedException
- IoTDataPlane.Client.exceptions.ServiceUnavailableException
- IoTDataPlane.Client.exceptions.InternalFailureException
- IoTDataPlane.Client.exceptions.MethodNotAllowedException
- IoTDataPlane.Client.exceptions.UnsupportedDocumentEncodingException
-
generate_presigned_url(ClientMethod, Params=None, ExpiresIn=3600, HttpMethod=None)
Generate a presigned url given a client, its method, and arguments
- Parameters
- ClientMethod (string) -- The client method to presign for
- Params (dict) -- The parameters normally passed to
ClientMethod.
- ExpiresIn (int) -- The number of seconds the presigned url is valid
for. By default it expires in an hour (3600 seconds)
- HttpMethod (string) -- The http method to use on the generated url. By
default, the http method is whatever is used in the method's model.
- Returns
The presigned url
-
get_paginator(operation_name)
Create a paginator for an operation.
- Parameters
- operation_name (string) -- The operation name. This is the same name
as the method name on the client. For example, if the
method name is create_foo, and you'd normally invoke the
operation as client.create_foo(**kwargs), if the
create_foo operation can be paginated, you can use the
call client.get_paginator("create_foo").
- Raises OperationNotPageableError
- Raised if the operation is not
pageable. You can use the client.can_paginate method to
check if an operation is pageable.
- Return type
- L{botocore.paginate.Paginator}
- Returns
- A paginator object.
-
get_thing_shadow(**kwargs)
Gets the shadow for the specified thing.
For more information, see GetThingShadow in the AWS IoT Developer Guide.
See also: AWS API Documentation
Request Syntax
response = client.get_thing_shadow(
thingName='string',
shadowName='string'
)
- Parameters
- thingName (string) --
[REQUIRED]
The name of the thing.
- shadowName (string) -- The name of the shadow.
- Return type
dict
- Returns
Response Syntax
{
'payload': StreamingBody()
}
Response Structure
Exceptions
- IoTDataPlane.Client.exceptions.InvalidRequestException
- IoTDataPlane.Client.exceptions.ResourceNotFoundException
- IoTDataPlane.Client.exceptions.ThrottlingException
- IoTDataPlane.Client.exceptions.UnauthorizedException
- IoTDataPlane.Client.exceptions.ServiceUnavailableException
- IoTDataPlane.Client.exceptions.InternalFailureException
- IoTDataPlane.Client.exceptions.MethodNotAllowedException
- IoTDataPlane.Client.exceptions.UnsupportedDocumentEncodingException
-
get_waiter(waiter_name)
Returns an object that can wait for some condition.
- Parameters
- waiter_name (str) -- The name of the waiter to get. See the waiters
section of the service docs for a list of available waiters.
- Returns
- The specified waiter object.
- Return type
- botocore.waiter.Waiter
-
list_named_shadows_for_thing(**kwargs)
Lists the shadows for the specified thing.
See also: AWS API Documentation
Request Syntax
response = client.list_named_shadows_for_thing(
thingName='string',
nextToken='string',
pageSize=123
)
- Parameters
- thingName (string) --
[REQUIRED]
The name of the thing.
- nextToken (string) -- The token to retrieve the next set of results.
- pageSize (integer) -- The result page size.
- Return type
dict
- Returns
Response Syntax
{
'results': [
'string',
],
'nextToken': 'string',
'timestamp': 123
}
Response Structure
(dict) --
results (list) --
The list of shadows for the specified thing.
nextToken (string) --
The token for the next set of results, or null if there are no additional results.
timestamp (integer) --
The Epoch date and time the response was generated by AWS IoT.
Exceptions
- IoTDataPlane.Client.exceptions.ResourceNotFoundException
- IoTDataPlane.Client.exceptions.InvalidRequestException
- IoTDataPlane.Client.exceptions.ThrottlingException
- IoTDataPlane.Client.exceptions.UnauthorizedException
- IoTDataPlane.Client.exceptions.ServiceUnavailableException
- IoTDataPlane.Client.exceptions.InternalFailureException
- IoTDataPlane.Client.exceptions.MethodNotAllowedException
-
publish(**kwargs)
Publishes state information.
For more information, see HTTP Protocol in the AWS IoT Developer Guide.
See also: AWS API Documentation
Request Syntax
response = client.publish(
topic='string',
qos=123,
payload=b'bytes'|file
)
- Parameters
-
- Returns
None
Exceptions
- IoTDataPlane.Client.exceptions.InternalFailureException
- IoTDataPlane.Client.exceptions.InvalidRequestException
- IoTDataPlane.Client.exceptions.UnauthorizedException
- IoTDataPlane.Client.exceptions.MethodNotAllowedException
-
update_thing_shadow(**kwargs)
Updates the shadow for the specified thing.
For more information, see UpdateThingShadow in the AWS IoT Developer Guide.
See also: AWS API Documentation
Request Syntax
response = client.update_thing_shadow(
thingName='string',
shadowName='string',
payload=b'bytes'|file
)
- Parameters
-
- Return type
dict
- Returns
Response Syntax
{
'payload': StreamingBody()
}
Response Structure
Exceptions
- IoTDataPlane.Client.exceptions.ConflictException
- IoTDataPlane.Client.exceptions.RequestEntityTooLargeException
- IoTDataPlane.Client.exceptions.InvalidRequestException
- IoTDataPlane.Client.exceptions.ThrottlingException
- IoTDataPlane.Client.exceptions.UnauthorizedException
- IoTDataPlane.Client.exceptions.ServiceUnavailableException
- IoTDataPlane.Client.exceptions.InternalFailureException
- IoTDataPlane.Client.exceptions.MethodNotAllowedException
- IoTDataPlane.Client.exceptions.UnsupportedDocumentEncodingException