@asyx/mqtt-broker-aws
v0.1.0
Published
AWS IoT Core transport adapter for Asyx MQTT clients.
Readme
@asyx/mqtt-broker-aws
AWS IoT Core transport adapter for Asyx MQTT clients.
Overview
This package provides a transport implementation for connecting to AWS IoT Core MQTT brokers. It implements the Transport interface from @asyx/mqtt-core and handles configuration loading from environment variables and config files.
Features
- Transport Interface: Implements the standard MQTT transport contract
- Config Loading: Reads from environment variables and optional config files
- Dry-Run Mode: Validates configuration without network connections
- AWS IoT Core: Optimized for AWS IoT Core MQTT endpoints
Configuration
Environment Variables
export ASYX_MQTT_ENDPOINT="your-endpoint.iot.region.amazonaws.com"
export AWS_REGION="us-east-1"
export ASYX_CLIENT_ID="cli_ABC123DEF456"Config File (Optional)
Create ~/.asyx/config.json:
{
"mqtt": {
"endpoint": "your-endpoint.iot.region.amazonaws.com",
"region": "us-east-1",
"clientId": "cli_ABC123DEF456"
}
}Usage
import { AwsIotTransport } from "@asyx/mqtt-broker-aws";
import { AsyxMqttClient } from "@asyx/mqtt-client";
const transport = new AwsIotTransport();
const client = new AsyxMqttClient(transport, { clientId: "cli_ABC123DEF456" });
await client.core.connect({ clientId: "cli_ABC123DEF456" });CLI Integration
# Probe configuration and show resolved topics
asyx mqtt broker:probeDevelopment Status
⚠️ Note: This package is currently in development. Network connectivity and TLS certificates are not yet implemented. Use MemoryTransport for testing.
License
Apache-2.0
