The IoT Edge Connect API
IoT Edge Connect uses the Akamai Platform to provide communication and data processing for millions of connected devices. It is a scalable, reliable, and distributed real-time publish-subscribe mechanism that organizes data into logical categories called topics.
IoT Edge Connect has two interfaces: the message queuing telemetry transport (MQTT) and HTTP interfaces. Together these create a logical system that deploys across multiple geographic jurisdictions.
MQTT interface. Provides an MQTT brokering service to publish messages to and read messages from topics. It also provides topic-based filtering by distributing all incoming messages to users based on their subscribed topics.
HTTP interface. Provides an HTTP mechanism to publish messages to and read messages from the topics processed by the MQTT interface.
The IoT Edge Connect API provides namespace configurations for both the MQTT and HTTP interfaces. It allows you to reserve namespaces and configure them in selected geographic jurisdictions. Within a configuration, you can specify a list of valid topics and define access control lists with authorization groups that can publish or subscribe to selected topics.
Who Should Use This API
Use this API if you want to create your own automated mechanism to manage your namespace configurations outside of the Luna interface.
With the IoT Edge Connect API, you can provide namespace configurations for the Akamai Platform to let users publish/subscribe to pre-defined, dynamically-created, and user-dedicated topics. This fully-managed service for MQTT and HTTP messaging enables real-time communication between IoT devices and data centers.
Topics are a logical collection of messages in an IoT data stream. IoT Edge Connect can support static, dynamic, and identity topics. A namespace can support a pre-defined number of topics and allow dynamic and identity topics.
Static topics. Topics that are pre-defined by the user. They are basic static lines of communication. Wildcard-based subscriptions are supported for static topics. In a namespace configuration, static topics are defined by relative paths.
Dynamic topics. Topics that are dynamically created when the user subscribes or publishes to them. The user has a pre-defined contractual limit on the number of subscribers to a dynamic topic. Wildcard-based subscriptions are not supported for dynamic topics. In a namespace configuration, dynamic topics are defined by paths ending with
Identity topics. Topics that define the only users who can subscribe to them. In a namespace configuration, identity topics are defined by paths ending with
In a namespace configuration, topics are structured in a hierarchy similar to folders and files in a file system. A topic level separator, in the form of the forward slash
/, separates each level within a topic tree and provides a hierarchical structure to the topic name. Using this system, you can create user-friendly and self-descriptive naming structures.
Configure Access Control Lists
To maintain proper security control over publishing and subscribing to topics, you need to define access control lists with topic authorization groups. For each topic, a list of publishers specifies groups that can publish messages to a topic, and a list of subscribers specifies groups that can read messages from this topic.
For each static or dynamic topic, you need to define at least one publisher and subscriber across access control lists.
For each identity topic, you need to define at least one publisher in an access control list.
Before using the API for the first time:
Review Get Started on tools that Akamai provides.
Review Authorize Your Client in Luna to create your API access credentials and authorizations. As detailed in the API Identity Model section, you then access the API using custom hostnames that looks like this:
Last modified: 4/26/2018