AWS SDK dla Delphi — S3, SQS, IoT, Lambda, DynamoDB
Natywny, niezależny od zależności zestaw narzędzi Delphi dla Amazon Web Services. Podpisuj i wysyłaj żądania REST do S3, pchaj wiadomości do SQS, napędzaj AWS IoT Core przez MQTT-na-WebSocket, wywołuj funkcje Lambda, rozmawiaj z DynamoDB i Bedrock i generuj silnie typowanych klientów Pascala dla dowolnego API AWS z jego specyfikacji OpenAPI / Smithy — wszystko z pojedynczego zestawu komponentów sgcWebSockets.
Bez Java runtime, bez Python boto3, bez mostu Node — tylko komponenty Pascala, które mówią HTTPS, MQTT, WebSocket i AMQP bezpośrednio do edge AWS.
Amazon Web Services udostępnia ponad 250 API — storage, kolejkowanie, IoT, compute, machine learning, tożsamość, DNS, CDN, search, RDBMS, key management i dziesiątki więcej. Oficjalny AWS SDK jest dostarczany w Java, Python, JavaScript, Go, Ruby, PHP i .NET, ale nie w Delphi ani C++Builder. sgcWebSockets wypełnia lukę spójnym zestawem natywnych komponentów: TsgcHTTP_API_AmazonSQS dla kolejkowania, TsgcWSAPI_AWSIoT dla MQTT nad WebSocket (presigned Signature v4), TsgcHTTPClient z wbudowanym signerem AWS Signature v4 dla dowolnej usługi REST oraz generatorem kodu sgcOpenAPI dla długiego ogona usług, które publikują czytelną maszynowo specyfikację.
Uwierzytelnianie jest jednolite: para klucz dostępu + klucz tajny (lub tymczasowy token sesji STS z założeniem roli IAM), region i identyfikator usługi. Pomocnik Signature v4 oblicza kanoniczne żądanie, string-to-sign, łańcuch HMAC i nagłówek Authorization dla każdego wychodzącego wywołania, więc każdy endpoint AWS — od S3 PUT do Bedrock InvokeModel — mówi tym samym dialektem. Wszystko działa na Windows, macOS, Linux, iOS i Android z tym samym źródłem Pascala.
HTTPS / HTTP/2 dla REST, MQTT 3.1.1 + 5 nad WebSocket dla IoT, surowy WebSocket dla strumieniowania.
Platformy
Windows, macOS, Linux, iOS, Android, .NET.
Generator kodu
sgcOpenAPI konsumuje dowolną specyfikację AWS OpenAPI / Smithy i emituje klasy klienta Pascala.
Wspierane usługi
Wrappery pierwszej klasy + wygenerowane SDK dla reszty
Amazon S3
PUT / GET / DELETE obiektów, multipart uploady, presigned URLs i listowanie bucketów przez HTTPS z Signature v4. Działa wobec dowolnego storage kompatybilnego z S3 (MinIO, Wasabi, Backblaze B2, Cloudflare R2).
TsgcWSAPI_AWSIoT — MQTT 3.1.1 / 5 nad WebSocket z presigned URLs Signature v4 lub wzajemnym TLS X.509. Device shadow, jobs, fleet provisioning, niestandardowe uwierzytelnianie.
AWS Lambda
Synchroniczne (RequestResponse) i asynchroniczne (Event) wywołania wobec endpointu /2015-03-31/functions/{name}/invocations. Zwraca odpowiedź JSON lub ID śladu X-Ray.
Amazon DynamoDB
PutItem, GetItem, Query, Scan i TransactWriteItems przez protokół JSON 1.0 — ten sam komponent, inny nagłówek X-Amz-Target.
Amazon Bedrock
InvokeModel i InvokeModelWithResponseStream dla Claude, Llama, Mistral, Titan i Nova — wariant strumieniowy używa kodeka event-stream owijanego przez klienta HTTP/2.
Amazon SNS
Publikuj do tematów i celów SMS, zarządzaj subskrypcjami i endpointami platformy — czysty HTTPS POST + Signature v4.
STS + Cognito
AssumeRole, GetSessionToken i Cognito user-pool sign-in / token-refresh — przepływy OAuth2 interoperują z TsgcOAuth2Client.
sgcOpenAPI emituje klasy klienta Pascala dla dowolnej usługi AWS, która publikuje specyfikację OpenAPI lub Smithy — długi ogon CloudWatch, Kinesis, ECS, EKS, EventBridge i pokrewnych.
Uwierzytelnianie
Signature v4 dla każdej usługi
Każde żądanie AWS — S3 PUT, DynamoDB Query, Lambda Invoke, nawet presigned URL MQTT-na-WebSocket używany przez AWS IoT — niesie nagłówek Authorization: AWS4-HMAC-SHA256 (lub query string) wyprowadzony z Twojego klucza dostępu, klucza tajnego, regionu i nazwy usługi. sgcWebSockets dostarcza pojedynczy pomocnik Pascala Signature v4, który obsługuje budowanie kanonicznego żądania, string-to-sign, łańcuchowanie HMAC i wykrywanie odchylenia zegara — ponownie używalny z dowolnego komponentu HTTP / WebSocket / MQTT. W połączeniu z TsgcOAuth2Client dla przepływów STS / Cognito i wbudowanym wzorcem zakładania roli IAM, dostajesz tę samą postawę bezpieczeństwa co oficjalne SDK w każdym innym języku.
Szybki start
Upload do S3 i publikacja do SQS
30-liniowy fragment, który uploaduje plik do bucketu S3 i kolejkuje powiadomienie na SQS — kanoniczne „hello world” automatyzacji AWS.
AWS IoT Core akceptuje MQTT nad TLS (port 8883) z wzajemnym TLS X.509, MQTT nad WebSocket (port 443) podpisany z Signature v4, lub MQTT z niestandardowym authoriserem. TsgcWSAPI_AWSIoT obsługuje wszystkie trzy — transport WebSocket to najłatwiejsza ścieżka z sieci firmowych blokujących 8883, a komponent generuje presigned URL transparentnie z Twojego klucza dostępu.