Skip to main content Skip to footer

AWS IoT Core HTTP Publisher Documentation

Version: 1.0.1 

Retrieved: 2025-10-09 15:15:41


AWS IoT Core HTTP Publisher

The module communicates with the AWS IoT Core cloud service by publishing messages over HTTP. To use this module an Amazon AWS account is needed and an IoT Core Thing must have been created using the cloud service.

Settings

Name Requirements Purpose Default
Rest API Endpoint Length: 1-128 Endpoint for communicating with the Thing in your AWS account.  
Source Property Length: 1-64 The property on the message that contains the message to send. data
Topic Length: 0-256 Topic to publish messages to when action is Publish. Overrides "topic" from message.  
Quality of Service   'At most once' or 'at least once'. AWS does not support 'exactly once'. At most once

Endpoint

The AWS IoT Core Endpoint should look something like this and include the port.

https://a1yu32lnqvo107-ats.iot.eu-north-1.amazonaws.com:8443

Credential

This module contains an option to select credentials to use in the module. All credentials supported by the module are presented in a drop-down.

When creating a credential that will only be used for AWS IoT Core you only need the certificate PEM and the private KEY. Public KEY and CA Certificate can be ignored for AWS IoT Core.

Certificate Example

-----BEGIN CERTIFICATE-----
MIIDWTCCAkGgAwIBAgIUKmcPiQaG0nU79gPLXpBOaEa5x8EwDQYJKoZIhvcNAQEL
<!-- REMOVED FOR READABILITY -->
Er5sSxNLg/ybK0BhcdLddg7G7BTCqj8wkBXNmzcoUKlHibO7YZWs8gSiFF8E
-----END CERTIFICATE-----

Key Example

-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAsDKZE4gQCoE79vSrUTRVODMZ3BN0B3GBIsseuJMn63JCySbM
<!-- REMOVED FOR READABILITY -->
f2t5kGXoT+nQlF04Ar3iGSSVsIUR9H+1/rwpZ7KT9ID8er4N705=
-----END RSA PRIVATE KEY-----

Input

Name Required Type Description
[Source Property] yes string Contains message to publish. Will be sent as JSON if it is a complex object.
topic no string Topic to use, have to be allowed for the Thing policy in AWS configuration.

Output

One output message is sent for every incoming message. The output message will retain all message properties from the incoming message. It will also add a crosser result object to the message if one does not already exist in the incoming message. If the action succeeds the success property of the crosser result object is set to true. If the action fails the success property is set to false and the message property of the crosser result object is set to a message describing why the action failed.

Name Type Description
crosser object Crosser result object that contains properties describing the status of the latest operation.
crosser.success boolean Set to true if upload succeeded.
crosser.message string Describes why the publish failed.

Examples

In the following examples it is assumed that the Credential and Rest API Endpoint settings have been configured correctly.

Publishing (Topic from settings)

# Settings:
Source Property = "data"
Topic = "Greetings"
# Incoming message
{
   "topic": "Hello"
   "data": "World!"
}
# Outgoing message
{
   "topic": "Hello"
   "data": "World!"
   "crosser": {
     "success": true
   }
}

Result in IoT Core:

  • A message is published with the topic Greetings and content World! to AWS IoT Core.

Publishing (Topic from message)

# Settings:
Source Property = "data"
Topic = ""
# Incoming message
{
   "topic": "Hello"
   "data": "World!"
}
# Outgoing message
{
   "topic": "Hello"
   "data": "World!"
   "crosser": {
     "success": true
   }
}

Result in IoT Core:

  • A message is published with the topic Hello and content World! to AWS IoT Core.