Amazon SQS
从 Delphi/C++Builder 发送和接收 Amazon SQS 消息。单一类型化组件内置 AWS Signature V4 签名、队列管理和 FIFO 支持。
从 Delphi/C++Builder 发送和接收 Amazon SQS 消息。单一类型化组件内置 AWS Signature V4 签名、队列管理和 FIFO 支持。
AWS SQS 客户端组件 — SendMessage、ReceiveMessage、DeleteMessage、ChangeMessageVisibility、队列 CRUD,均使用您的 Access Key/Secret 对进行 SigV4 签名。
TsgcHTTPAWS_SQS_Client
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
设置 AccessKey / SecretKey / Region,然后调用 SendMessage 入队,ReceiveMessage 消费,DeleteMessage 确认。
uses
sgcHTTP;
var
SQS: TsgcHTTPAWS_SQS_Client;
begin
SQS := TsgcHTTPAWS_SQS_Client.Create(nil);
SQS.AWSOptions.AccessKey := 'AKIA...';
SQS.AWSOptions.SecretKey := 'your-secret';
SQS.AWSOptions.Region := 'eu-west-1';
// 发布
SQS.SendMessage(
'https://sqs.eu-west-1.amazonaws.com/123456789012/orders',
'{"orderId":42,"status":"new"}');
// 消费
Memo1.Text := SQS.ReceiveMessage(
'https://sqs.eu-west-1.amazonaws.com/123456789012/orders', 10);
end;
// uses: sgcHTTP
TsgcHTTPAWS_SQS_Client *SQS = new TsgcHTTPAWS_SQS_Client(this);
SQS->AWSOptions->AccessKey = "AKIA...";
SQS->AWSOptions->SecretKey = "your-secret";
SQS->AWSOptions->Region = "eu-west-1";
SQS->SendMessage(queueUrl, payload);
Memo1->Text = SQS->ReceiveMessage(queueUrl, 10);
针对现代 sqs.<region>.amazonaws.com JSON+SigV4 端点接口。
CreateQueue、DeleteQueue、GetQueueUrl、ListQueues、GetQueueAttributes、SetQueueAttributes 处理队列控制平面。
SendMessage、SendMessageBatch、ReceiveMessage、DeleteMessage、DeleteMessageBatch、ChangeMessageVisibility 覆盖数据平面。
对于 FIFO 队列,组件接受 MessageGroupId 和 MessageDeduplicationId;SequenceNumber 在响应中返回。可见性超时按组设置。
每个请求均按 AWS SigV4 规范签名 — 规范请求、哈希、签名密钥、头部注入。支持长期密钥;通过 AWSOptions.SessionToken 支持 STS 会话令牌。
向 ReceiveMessage 传入非零 WaitTimeSeconds 以启用 SQS 长轮询 — 最长等待 20 秒,减少空接收,降低请求次数。
始终通过 HTTPS 访问区域 SQS 端点 — 静态加密(SSE-SQS / SSE-KMS)通过 SetQueueAttributes 在服务器端配置。
本组件所实现 API 的权威来源。