Un toolkit Delphi natif, sans dépendances, pour Amazon Web Services. Signez et envoyez des requêtes REST à S3, poussez des messages dans SQS, pilotez AWS IoT Core via MQTT-sur-WebSocket, invoquez des fonctions Lambda, parlez à DynamoDB et Bedrock, et générez des clients Pascal fortement typés pour n'importe quelle API AWS à partir de sa spécification OpenAPI / Smithy — le tout depuis un même ensemble de composants sgcWebSockets.
Pas de runtime Java, pas de boto3 Python, pas de pont Node — juste des composants Pascal qui parlent HTTPS, MQTT, WebSocket et AMQP directement à l'edge AWS.
Amazon Web Services expose plus de 250 API — stockage, queueing, IoT, calcul, machine learning, identité, DNS, CDN, recherche, RDBMS, gestion de clés et des dizaines d'autres. Le SDK officiel d'AWS est livré en Java, Python, JavaScript, Go, Ruby, PHP et .NET, mais pas en Delphi ni en C++Builder. sgcWebSockets comble ce manque avec un ensemble cohérent de composants natifs : TsgcHTTP_API_AmazonSQS pour le queueing, TsgcWSAPI_AWSIoT pour MQTT sur WebSocket (Signature v4 presigned), TsgcHTTPClient avec le signer AWS Signature v4 intégré pour n'importe quel service REST, et le générateur de code sgcOpenAPI pour la longue traîne des services qui publient une spécification lisible par machine.
L'authentification est uniforme : une paire access key + secret key (ou un jeton de session STS temporaire avec assomption de rôle IAM), une région et un identifiant de service. L'helper Signature v4 calcule la requête canonique, la string-to-sign, la chaîne HMAC et l'en-tête Authorization pour chaque appel sortant, de sorte que chaque endpoint AWS — du PUT S3 au InvokeModel de Bedrock — parle le même dialecte. Tout tourne sur Windows, macOS, Linux, iOS et Android avec la même source Pascal.
HTTPS / HTTP/2 pour REST, MQTT 3.1.1 + 5 sur WebSocket pour IoT, WebSocket brut pour le streaming.
Plateformes
Windows, macOS, Linux, iOS, Android, .NET.
Générateur de code
sgcOpenAPI consomme n'importe quelle spécification OpenAPI / Smithy AWS et émet des classes client Pascal.
Services pris en charge
Wrappers de première classe + SDK générés pour le reste
Amazon S3
PUT / GET / DELETE d'objets, uploads multipart, URL pré-signées et listings de buckets via HTTPS avec Signature v4. Fonctionne contre tout stockage compatible S3 (MinIO, Wasabi, Backblaze B2, Cloudflare R2).
TsgcHTTP_API_AmazonSQS — créez des files, envoyez / recevez / supprimez des messages, FIFO + standard, dead-letter queues, envoi en batch en un seul appel.
TsgcWSAPI_AWSIoT — MQTT 3.1.1 / 5 sur WebSocket avec URL pré-signées Signature v4 ou TLS mutuel X.509. Device shadow, jobs, fleet provisioning, authentification personnalisée.
AWS Lambda
Invocations synchrones (RequestResponse) et asynchrones (Event) sur l'endpoint /2015-03-31/functions/{name}/invocations. Renvoie la réponse JSON ou le trace ID X-Ray.
Amazon DynamoDB
PutItem, GetItem, Query, Scan et TransactWriteItems via le protocole JSON 1.0 — même composant, en-tête X-Amz-Target différent.
Amazon Bedrock
InvokeModel et InvokeModelWithResponseStream pour Claude, Llama, Mistral, Titan et Nova — la variante streaming utilise un codec event-stream enveloppé par le client HTTP/2.
Amazon SNS
Publier vers des topics et des cibles SMS, gérer les souscriptions et les endpoints de plateforme — HTTPS POST pur + Signature v4.
STS + Cognito
AssumeRole, GetSessionToken et sign-in / token-refresh des user pools Cognito — les flux OAuth2 interagissent avec TsgcOAuth2Client.
sgcOpenAPI émet des classes client Pascal pour tout service AWS qui publie une spécification OpenAPI ou Smithy — la longue traîne de CloudWatch, Kinesis, ECS, EKS, EventBridge et compagnie.
Authentification
Signature v4 pour chaque service
Chaque requête AWS — PUT S3, Query DynamoDB, Invoke Lambda, et même l'URL pré-signée MQTT-sur-WebSocket utilisée par AWS IoT — porte un en-tête Authorization: AWS4-HMAC-SHA256 (ou query string) dérivé de votre access key, secret key, région et nom de service. sgcWebSockets livre un unique helper Pascal Signature v4 qui prend en charge la construction de la requête canonique, la string-to-sign, le chaînage HMAC et la détection de dérive d'horloge — réutilisable depuis n'importe quel composant HTTP / WebSocket / MQTT. Combiné avec TsgcOAuth2Client pour les flux STS / Cognito et le motif intégré d'assomption de rôle IAM, vous obtenez la même posture de sécurité que les SDK officiels dans n'importe quel autre langage.
Démarrage rapide
Upload vers S3 et publication sur SQS
Un snippet de 30 lignes qui charge un fichier dans un bucket S3 et place une notification dans SQS — le « hello world » canonique de l'automatisation AWS.
AWS IoT Core accepte MQTT sur TLS (port 8883) avec TLS mutuel X.509, MQTT sur WebSocket (port 443) signé avec Signature v4, ou MQTT avec un autorisateur personnalisé. TsgcWSAPI_AWSIoT prend en charge les trois — le transport WebSocket est le chemin le plus simple depuis les réseaux d'entreprise qui bloquent 8883, et le composant génère l'URL pré-signée de manière transparente à partir de votre access key.
Déposez sgcWebSockets dans votre installation Delphi ou C++Builder — un package IDE par version de Delphi de 7 à 13. Téléchargez l'essai.
2. Créer un utilisateur IAM
Dans la console AWS, créez un utilisateur IAM à accès programmatique, attachez-lui une policy au plus juste privilège, et copiez la paire access-key / secret-key.
3. Déposez un composant
Pour SQS utilisez TsgcHTTP_API_AmazonSQS, pour IoT utilisez TsgcWSAPI_AWSIoT, pour tout le reste utilisez TsgcHTTPClient avec l'helper Signature v4.