Skip to content
IntellobotsTechnologies

Migrate · How-to

From AWS IoT Core

Export things, certificates, policies and shadows, import them, and point devices and backends at IoT Core.

Updated 11 Nov 20262 min read

All ThingsX IoT Core pages

Moving from AWS IoT Core needs the fewest changes: policy JSON imports as it is, shadow topics keep working, and devices keep their AWS-issued certificates.

  1. 1Exportread-only, from your AWS account
  2. 2Importdry run, then import
  3. 3Point devicesnew endpoint and root CA
  4. 4Switch backendsSDK import change
  5. 5Re-create rulestest each on the bench

1. Export (read-only)

We give you a small export script. It reads thing types, things, policies, certificates (PEM, status and attachments) and, optionally, shadows using read-only AWS credentials, and writes one JSON file. Nothing in AWS is changed.

2. Import, dry run first

Upload the file in the console under Migrate, or post it to /v1/migrate/aws/import. The dry run lists what will be created and anything that needs attention. Then import for real.

  • Certificates are pinned by fingerprint, so the device certificates work unchanged.
  • Policies import as they are; AWS account prefixes in resource names are ignored and policy variables work.

3. Point the devices

Change the endpoint to <your-endpoint>:8883 and the server root CA to the one from your workspace (or use a server certificate from a public CA your devices already trust). Client ID, key, certificate and topics stay the same. $aws/things/<name>/shadow/... topics are answered by IoT Core twins.

4. Switch backends

# import boto3
# iot, data = boto3.client("iot"), boto3.client("iot-data")
import tic_sdk
iot, data = tic_sdk.client("iot"), tic_sdk.client("iot-data")

The common thing, certificate, policy, attachment, publish and shadow calls are supported with the same names and arguments. Errors carry a botocore-like response.

5. Rules

IoT SQL maps closely: SELECT … FROM 'topic/+' WHERE … with topic(n), clientid() and timestamp(). Lambda actions become HTTP actions to your service; SQS and Kinesis become queue actions. Test each rule on the bench before saving.

AWSThingsX IoT Core
Device ShadowTwin (shadow topics also work)
Jobs (simple)Commands with acknowledgement
Fleet IndexingThing search
Device Defender, CloudWatch logsEvent log, timeline and Diagnose
Custom authorizer (username and password)Built-in password credentials