SDK AWS para Delphi — S3, SQS, IoT, Lambda, DynamoDB
Un toolkit Delphi nativo, sin dependencias, para Amazon Web Services. Firma y envía peticiones REST a S3, encola mensajes en SQS, controla AWS IoT Core sobre MQTT-en-WebSocket, invoca funciones Lambda, habla con DynamoDB y Bedrock, y genera clientes Pascal fuertemente tipados para cualquier API AWS desde su especificación OpenAPI / Smithy — todo desde un único conjunto de componentes sgcWebSockets.
Sin runtime Java, sin boto3 de Python, sin puente Node — sólo componentes Pascal que hablan HTTPS, MQTT, WebSocket y AMQP directamente al borde de AWS.
Amazon Web Services expone más de 250 APIs — almacenamiento, colas, IoT, cómputo, machine learning, identidad, DNS, CDN, búsqueda, RDBMS, gestión de claves y docenas más. El SDK oficial de AWS se distribuye en Java, Python, JavaScript, Go, Ruby, PHP y .NET, pero no en Delphi ni C++Builder. sgcWebSockets cubre ese hueco con un conjunto coherente de componentes nativos: TsgcHTTP_API_AmazonSQS para colas, TsgcWSAPI_AWSIoT para MQTT sobre WebSocket (Signature v4 presignado), TsgcHTTPClient con el firmador integrado AWS Signature v4 para cualquier servicio REST, y el generador de código sgcOpenAPI para la larga cola de servicios que publican una especificación legible por máquina.
La autenticación es uniforme: un par access key + secret key (o un token de sesión temporal STS con asunción de rol IAM), región e identificador de servicio. El helper de Signature v4 calcula la petición canónica, el string-to-sign, la cadena HMAC y la cabecera Authorization para cada llamada saliente, de modo que cada endpoint AWS — desde un PUT de S3 hasta InvokeModel de Bedrock — habla el mismo dialecto. Todo se ejecuta en Windows, macOS, Linux, iOS y Android con el mismo código fuente Pascal.
HTTPS / HTTP/2 para REST, MQTT 3.1.1 + 5 sobre WebSocket para IoT, WebSocket puro para streaming.
Plataformas
Windows, macOS, Linux, iOS, Android, .NET.
Generador de código
sgcOpenAPI consume cualquier especificación OpenAPI / Smithy de AWS y emite clases cliente Pascal.
Servicios soportados
Wrappers de primera + SDKs generados para el resto
Amazon S3
PUT / GET / DELETE de objetos, subidas multipart, URLs presignadas y listados de buckets sobre HTTPS con Signature v4. Funciona contra cualquier almacén compatible con S3 (MinIO, Wasabi, Backblaze B2, Cloudflare R2).
TsgcHTTP_API_AmazonSQS — crea colas, envía / recibe / elimina mensajes, FIFO + estándar, colas de mensajes fallidos, envío por lotes con una sola llamada.
TsgcWSAPI_AWSIoT — MQTT 3.1.1 / 5 sobre WebSocket con URLs presignadas Signature v4 o TLS mutuo X.509. Device shadow, jobs, fleet provisioning, autenticación personalizada.
AWS Lambda
Invocaciones síncronas (RequestResponse) y asíncronas (Event) contra el endpoint /2015-03-31/functions/{name}/invocations. Devuelve la respuesta JSON o el ID de traza X-Ray.
Amazon DynamoDB
PutItem, GetItem, Query, Scan y TransactWriteItems vía el protocolo JSON 1.0 — mismo componente, distinta cabecera X-Amz-Target.
Amazon Bedrock
InvokeModel e InvokeModelWithResponseStream para Claude, Llama, Mistral, Titan y Nova — la variante streaming usa un códec event-stream envuelto por el cliente HTTP/2.
Amazon SNS
Publica en topics y destinos SMS, gestiona suscripciones y endpoints de plataforma — HTTPS POST puro + Signature v4.
STS + Cognito
AssumeRole, GetSessionToken y sign-in / token-refresh de Cognito user-pool — los flujos OAuth2 interoperan con TsgcOAuth2Client.
sgcOpenAPI emite clases cliente Pascal para cualquier servicio AWS que publique una especificación OpenAPI o Smithy — la larga cola de CloudWatch, Kinesis, ECS, EKS, EventBridge y compañía.
Autenticación
Signature v4 para cada servicio
Cada petición AWS — S3 PUT, DynamoDB Query, Lambda Invoke, incluso la URL presignada MQTT-en-WebSocket que usa AWS IoT — lleva una cabecera Authorization: AWS4-HMAC-SHA256 (o query string) derivada de tu access key, secret key, región y nombre de servicio. sgcWebSockets incluye un único helper Pascal de Signature v4 que se encarga de la construcción de la petición canónica, el string-to-sign, el encadenado HMAC y la detección de desfase de reloj — reutilizable desde cualquier componente HTTP / WebSocket / MQTT. Combinado con TsgcOAuth2Client para los flujos STS / Cognito y el patrón integrado de asunción de rol IAM, obtienes la misma postura de seguridad que los SDKs oficiales en cualquier otro lenguaje.
Guía Rápida
Sube a S3 y publica en SQS
Un fragmento de 30 líneas que sube un archivo a un bucket S3 y encola una notificación en SQS — el clásico “hello world” de la automatización AWS.
AWS IoT Core acepta MQTT sobre TLS (puerto 8883) con TLS mutuo X.509, MQTT sobre WebSocket (puerto 443) firmado con Signature v4, o MQTT con un autorizador personalizado. TsgcWSAPI_AWSIoT gestiona los tres — el transporte WebSocket es el camino más sencillo desde redes corporativas que bloquean el 8883, y el componente genera la URL presignada de forma transparente a partir de tu access key.