Un toolkit Delphi nativo, senza dipendenze, per Amazon Web Services. Firma e invia richieste REST a S3, accoda messaggi su SQS, pilota AWS IoT Core su MQTT-over-WebSocket, invoca funzioni Lambda, parla con DynamoDB e Bedrock, e genera client Pascal fortemente tipizzati per qualsiasi API AWS dalla sua specifica OpenAPI / Smithy — il tutto da un unico set di componenti sgcWebSockets.
Niente runtime Java, niente boto3 di Python, niente bridge Node — solo componenti Pascal che parlano HTTPS, MQTT, WebSocket e AMQP direttamente con l'edge AWS.
Amazon Web Services espone oltre 250 API — storage, code, IoT, compute, machine learning, identity, DNS, CDN, ricerca, RDBMS, key management e decine d'altro. L'SDK ufficiale di AWS viene rilasciato in Java, Python, JavaScript, Go, Ruby, PHP e .NET, ma non in Delphi o C++Builder. sgcWebSockets colma questo vuoto con un set coerente di componenti nativi: TsgcHTTP_API_AmazonSQS per le code, TsgcWSAPI_AWSIoT per MQTT su WebSocket (Signature v4 presigned), TsgcHTTPClient con il signer AWS Signature v4 integrato per qualsiasi servizio REST, e il generatore di codice sgcOpenAPI per la lunga coda di servizi che pubblicano una specifica leggibile da macchina.
L'autenticazione è uniforme: una coppia access key + secret key (o un token di sessione STS temporaneo con assunzione di ruolo IAM), regione e identificatore del servizio. L'helper Signature v4 calcola la richiesta canonica, la string-to-sign, la catena HMAC e l'header Authorization per ogni chiamata in uscita, così ogni endpoint AWS — da S3 PUT a Bedrock InvokeModel — parla lo stesso dialetto. Tutto gira su Windows, macOS, Linux, iOS e Android con lo stesso sorgente Pascal.
HTTPS / HTTP/2 per REST, MQTT 3.1.1 + 5 su WebSocket per IoT, WebSocket puro per lo streaming.
Piattaforme
Windows, macOS, Linux, iOS, Android, .NET.
Generatore di codice
sgcOpenAPI consuma qualsiasi specifica OpenAPI / Smithy di AWS ed emette classi client Pascal.
Servizi supportati
Wrapper di prima classe + SDK generati per il resto
Amazon S3
PUT / GET / DELETE di oggetti, upload multipart, URL presignate e listing di bucket su HTTPS con Signature v4. Funziona con qualsiasi storage S3-compatibile (MinIO, Wasabi, Backblaze B2, Cloudflare R2).
TsgcWSAPI_AWSIoT — MQTT 3.1.1 / 5 su WebSocket con URL presignate Signature v4 o TLS mutuo X.509. Device shadow, jobs, fleet provisioning, autenticazione personalizzata.
AWS Lambda
Invocazioni sincrone (RequestResponse) e asincrone (Event) sull'endpoint /2015-03-31/functions/{name}/invocations. Restituisce la risposta JSON o l'X-Ray trace ID.
Amazon DynamoDB
PutItem, GetItem, Query, Scan e TransactWriteItems via protocollo JSON 1.0 — stesso componente, header X-Amz-Target diverso.
Amazon Bedrock
InvokeModel e InvokeModelWithResponseStream per Claude, Llama, Mistral, Titan e Nova — la variante streaming usa un codec event-stream incapsulato dal client HTTP/2.
Amazon SNS
Publish su topic e destinazioni SMS, gestione di subscription ed endpoint di piattaforma — HTTPS POST puro + Signature v4.
STS + Cognito
AssumeRole, GetSessionToken e sign-in / token-refresh dello user pool Cognito — i flussi OAuth2 interoperano con TsgcOAuth2Client.
sgcOpenAPI emette classi client Pascal per qualsiasi servizio AWS che pubblichi una specifica OpenAPI o Smithy — la lunga coda di CloudWatch, Kinesis, ECS, EKS, EventBridge e compagnia.
Autenticazione
Signature v4 per ogni servizio
Ogni richiesta AWS — S3 PUT, DynamoDB Query, Lambda Invoke, persino l'URL presignata MQTT-over-WebSocket usata da AWS IoT — porta un header Authorization: AWS4-HMAC-SHA256 (o query string) derivato da access key, secret key, regione e nome del servizio. sgcWebSockets fornisce un singolo helper Pascal Signature v4 che gestisce la costruzione della richiesta canonica, la string-to-sign, l'HMAC chaining e il rilevamento di clock-skew — riutilizzabile da qualsiasi componente HTTP / WebSocket / MQTT. Combinato con TsgcOAuth2Client per i flussi STS / Cognito e con il pattern integrato di assunzione di ruolo IAM, ottieni la stessa postura di sicurezza degli SDK ufficiali in qualsiasi altro linguaggio.
Guida Rapida
Carica su S3 e pubblica su SQS
Uno snippet di 30 righe che carica un file su un bucket S3 e accoda una notifica su SQS — il canonico “hello world” dell'automazione AWS.
AWS IoT Core accetta MQTT su TLS (porta 8883) con TLS mutuo X.509, MQTT su WebSocket (porta 443) firmato con Signature v4, o MQTT con un autorizzatore personalizzato. TsgcWSAPI_AWSIoT gestisce tutti e tre — il trasporto WebSocket è il percorso più semplice dalle reti aziendali che bloccano l'8883, e il componente genera in modo trasparente la URL presignata a partire dalla tua access key.