Amazon Web Services için yerel, bağımlılıksız bir Delphi araç takımı. S3'e REST isteklerini imzalayıp gönderin, SQS'e mesaj iletin, AWS IoT Core'u WebSocket üzerinden MQTT ile yönetin, Lambda işlevlerini çağırın, DynamoDB ve Bedrock ile konuşun ve herhangi bir AWS API'si için OpenAPI / Smithy spesifikasyonundan güçlü tipli Pascal istemcileri oluşturun. Tümü tek bir sgcWebSockets bileşen kümesinden.
Java çalışma zamanı yok, Python boto3 yok, Node köprüsü yok. Yalnızca AWS uç noktasıyla doğrudan HTTPS, MQTT, WebSocket ve AMQP konuşan Pascal bileşenleri.
Amazon Web Services 250'den fazla API sunar: depolama, kuyruklama, IoT, hesaplama, makine öğrenimi, kimlik, DNS, CDN, arama, RDBMS, anahtar yönetimi ve düzinelerce daha fazlası. Resmi AWS SDK; Java, Python, JavaScript, Go, Ruby, PHP ve .NET ile gelir, ancak Delphi veya C++Builder ile gelmez. sgcWebSockets bu boşluğu tutarlı bir yerel bileşen kümesiyle doldurur: kuyruklama için TsgcHTTP_API_AmazonSQS, WebSocket üzerinden MQTT için TsgcWSAPI_AWSIoT (Signature v4 presigned), herhangi bir REST hizmeti için yerleşik AWS Signature v4 imzalayıcısı içeren TsgcHTTPClient ve makine tarafından okunabilir bir spesifikasyon yayımlayan hizmetlerin uzun kuyruğu için sgcOpenAPI kod üreteci.
Kimlik doğrulama tek tiptir: bir erişim anahtarı + gizli anahtar çifti (veya IAM rol üstlenmeli geçici bir STS oturum belirteci), bölge ve hizmet tanımlayıcısı. Signature v4 yardımcısı, her giden çağrı için kanonik isteği, imzalanacak dizeyi, HMAC zincirini ve Authorization başlığını hesaplar, böylece her AWS uç noktası (S3 PUT'tan Bedrock InvokeModel'e) aynı lehçeyi konuşur. Her şey aynı Pascal kaynağıyla Windows, macOS, Linux, iOS ve Android üzerinde çalışır.
HTTPS / HTTP/2 for REST, MQTT 3.1.1 + 5 over WebSocket for IoT, raw WebSocket for streaming.
Platformlar
Windows, macOS, Linux, iOS, Android, .NET.
Kod üreteci
sgcOpenAPI consumes any AWS OpenAPI / Smithy spec and emits Pascal client classes.
DESTEKLENEN HİZMETLER
Birinci sınıf sarmalayıcılar + geri kalan için oluşturulan SDK'lar
Amazon S3
Signature v4 ile HTTPS üzerinden PUT / GET / DELETE nesneleri, çok parçalı yüklemeler, presigned URL'ler ve bucket listeleri. Herhangi bir S3 uyumlu depoyla (MinIO, Wasabi, Backblaze B2, Cloudflare R2) çalışır.
TsgcWSAPI_AWSIoT — Signature v4 presigned URL'leri veya X.509 karşılıklı TLS ile WebSocket üzerinden MQTT 3.1.1 / 5. Cihaz gölgesi, işler, filo sağlama, özel kimlik doğrulama.
AWS Lambda
/2015-03-31/functions/{name}/invocations uç noktasına karşı senkron (RequestResponse) ve asenkron (Event) çağrılar. JSON yanıtını veya X-Ray izleme kimliğini döndürür.
Amazon DynamoDB
JSON 1.0 protokolü aracılığıyla PutItem, GetItem, Query, Scan ve TransactWriteItems. Aynı bileşen, farklı X-Amz-Target başlığı.
Amazon Bedrock
Claude, Llama, Mistral, Titan ve Nova için InvokeModel ve InvokeModelWithResponseStream. Akış varyantı, HTTP/2 istemcisi tarafından sarmalanan bir olay akışı codec'i kullanır.
Amazon SNS
Konulara ve SMS hedeflerine yayınlayın, abonelikleri ve platform uç noktalarını yönetin. Saf HTTPS POST + Signature v4.
STS + Cognito
AssumeRole, GetSessionToken ve Cognito kullanıcı havuzu oturum açma / belirteç yenileme. OAuth2 akışları TsgcOAuth2Client ile birlikte çalışır.
sgcOpenAPI, bir OpenAPI veya Smithy spesifikasyonu yayımlayan herhangi bir AWS hizmeti için Pascal istemci sınıfları üretir. CloudWatch, Kinesis, ECS, EKS, EventBridge ve benzerlerinin uzun kuyruğu.
KİMLİK DOĞRULAMA
Her hizmet için Signature v4
Her AWS isteği (S3 PUT, DynamoDB Query, Lambda Invoke, hatta AWS IoT tarafından kullanılan WebSocket üzerinden MQTT presigned URL'si) erişim anahtarınız, gizli anahtarınız, bölge ve hizmet adınızdan türetilen bir Authorization: AWS4-HMAC-SHA256 başlığı (veya sorgu dizesi) taşır. sgcWebSockets, kanonik istek oluşturmayı, imzalanacak dizeyi, HMAC zincirlemeyi ve saat kayması tespitini yöneten tek bir Pascal Signature v4 yardımcısı sunar. Herhangi bir HTTP / WebSocket / MQTT bileşeninden yeniden kullanılabilir. STS / Cognito akışları için TsgcOAuth2Client ve yerleşik IAM rol üstlenme deseni ile birleştiğinde, diğer herhangi bir dildeki resmi SDK'larla aynı güvenlik duruşunu elde edersiniz.
HIZLI BAŞLANGIÇ
S3'e yükleyin ve SQS'e yayınlayın
Bir dosyayı bir S3 bucket'ına yükleyen ve SQS'te bir bildirim sıraya alan 30 satırlık bir kod parçası. AWS otomasyonunun standart “merhaba dünya”sı.
AWS IoT Core; X.509 karşılıklı TLS ile TLS üzerinden MQTT (8883 bağlantı noktası), Signature v4 ile imzalanmış WebSocket üzerinden MQTT (443 bağlantı noktası) veya özel bir yetkilendiriciyle MQTT kabul eder. TsgcWSAPI_AWSIoT üçünü de ele alır. WebSocket taşıması, 8883'ü engelleyen kurumsal ağlardan en kolay yoldur ve bileşen, presigned URL'yi erişim anahtarınızdan şeffaf bir şekilde oluşturur.
sgcWebSockets'i Delphi veya C++Builder kurulumunuza bırakın. Delphi 7'den 13'e her sürüm için bir IDE paketi. Denemeyi indirin.
2. Bir IAM kullanıcısı oluşturun
AWS konsolunda, programatik erişimli bir IAM kullanıcısı oluşturun, en az ayrıcalık ilkesi ekleyin ve erişim anahtarı / gizli anahtar çiftini kopyalayın.
3. Bir bileşen bırakın
SQS için TsgcHTTP_API_AmazonSQS, IoT için TsgcWSAPI_AWSIoT, diğer her şey için Signature v4 yardımcısıyla TsgcHTTPClient kullanın.