Amazon SQS

Delphi/C++Builder から Amazon SQS メッセージを送受信できます。AWS Signature V4 署名、キュー管理、FIFO サポートを 1 つの型付きコンポーネントで提供します。

TsgcHTTPAWS_SQS_Client

AWS SQS クライアントコンポーネント — SendMessage、ReceiveMessage、DeleteMessage、ChangeMessageVisibility、キュー CRUD など、すべてアクセスキー/シークレットキーのペアで SigV4 署名されます。

コンポーネントクラス

TsgcHTTPAWS_SQS_Client

プロトコル

Amazon SQS API

プラットフォーム

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 エンドポイント群を対象としています。

キューライフサイクル

CreateQueueDeleteQueueGetQueueUrlListQueuesGetQueueAttributesSetQueueAttributes によりキューのコントロールプレーンを処理します。

送信 / 受信 / 削除

SendMessageSendMessageBatchReceiveMessageDeleteMessageDeleteMessageBatchChangeMessageVisibility によりデータプレーンを網羅します。

FIFO サポート

FIFO キューでは、コンポーネントは MessageGroupIdMessageDeduplicationId を受け取り、SequenceNumber がレスポンスで返されます。可視性タイムアウトはグループ単位です。

AWS Signature V4

すべてのリクエストは AWS の SigV4 仕様に従って署名されます — 正規化リクエスト、ハッシュ、署名キー、ヘッダー挿入。長期キーをサポートし、STS セッショントークンは AWSOptions.SessionToken 経由で利用できます。

ロングポーリング

ReceiveMessage に 0 以外の WaitTimeSeconds を渡すと SQS ロングポーリングが有効になります — 最大 20 秒の待機、空の受信の削減、リクエスト数の削減を実現します。

転送中の暗号化

リージョナル SQS エンドポイントへの通信は常に HTTPS を使用します — SSE-SQS / SSE-KMS の保存時暗号化は SetQueueAttributes 経由でサーバー側で構成します。

仕様 & リファレンス

本コンポーネントが実装する API の信頼できる情報源です。

ドキュメント & デモ

コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、体験版のダウンロードをご利用いただけます。

オンラインヘルプ — AWS SQS クライアント このコンポーネントのプロパティ、メソッド、イベントの完全なリファレンス。
デモプロジェクト — Demos\20.HTTP_Protocol\04.AWS すぐに実行可能なサンプルプロジェクト。sgcWebSockets パッケージに同梱されています — 下記から体験版をダウンロードしてください。
技術ドキュメント(PDF) 機能、クイックスタート、Delphi & C++ Builder のコードサンプル、一次情報源リファレンス — 本コンポーネントのみ対象。
ユーザーマニュアル(PDF) ライブラリ内のすべてのコンポーネントを網羅した包括的なマニュアル。

Delphi から SQS を利用しますか?

体験版をダウンロードして、Amazon SQS を Delphi アプリケーションに統合してください。