EventBridge を使用した量子タスクのモニタリング
Amazon EventBridge は、Amazon Braket 量子タスクのステータス変更イベントをモニタリングします。Amazon Braket からのイベントは、ほぼリアルタイムに EventBridge に提供されます。ルールを記述して、注目するイベント (イベントがルールに一致した場合に自動的に実行するアクションを含む) を指定できます。トリガーできる自動アクションには、次が含まれます。
-
AWS Lambda 関数の呼び出し
-
AWS Step Functions ステートマシンのアクティブ化
-
Amazon SNS トピックへの通知
EventBridge は、次の Amazon Braket ステータス変更イベントをモニタリングします。
-
量子タスクのステータスの変更
量子タスクステータス変更イベントは Amazon Braket によて必ず配信されます。これらのイベントは少なくとも 1 回配信されますが、順序が乱れている可能性があります。
詳細については、「Events in Amazon EventBridge」を参照してください。
EventBridge での量子タスクステータスのモニタリング
EventBridge を使用すると、Amazon Braket が Braket 量子タスクに関するステータス変更の通知を送信するときに実行するアクションを定義するルールを作成できます。例えば、量子タスクのステータスが変化するたびに E メールメッセージを送信するルールを作成できます。
-
EventBridge と Amazon Braket を使用するアクセス許可を持つアカウントを使用して AWS にログインします。
-
Amazon EventBridge コンソール
を開きます。 -
次の値を使用して、EventBridge ルールを作成します。
-
[ルールタイプ] で、[イベントパターンを持つルール] を選択してください。
-
イベントソース では、その他] を選択します。
-
[イベントパターン] セクションで [カスタムパターン (JSONエディター)] を選択し、次のイベントパターンをテキストエリアに貼り付けます。
{ "source": [ "aws.braket" ], "detail-type": [ "Braket Task State Change" ] }Amazon Braket からすべてのイベントをキャプチャするには、次のコードに示すように、
detail-typeセクションを除外します。{ "source": [ "aws.braket" ] } -
[ターゲットタイプ] で [AWS のサービス] を選択し、[ターゲットを選択] でターゲット (Amazon SNS のトピックや AWS Lambda 関数など) を選択します。ターゲットは、量子タスクのステータス変更イベントが Amazon Braket から受信されるとトリガーされます。
例えば、Amazon Simple Notification Service (SNS) トピックを使用して、イベントが発生したときに E メールまたはテキストメッセージを送信できます。これを行うには、Amazon SNS コンソールを使用して Amazon SNS トピックを作成する必要があります。詳細については、「ユーザー通知に Amazon SNS を使用する」を参照してください。
-
ルールの作成に関する詳細については、「イベントに反応する Amazon EventBridge ルールの作成」を参照してください。
Amazon Braket EventBridge イベントの例
Amazon Braket 量子タスクステータス変更イベントのフィールドの詳細については、「Events in Amazon EventBridge」を参照してください。
JSON の「詳細」フィールドには、次の属性が表示されます。
-
quantumTaskArn(str): このイベントが生成された量子タスク。 -
status(オプションで [str]): 量子タスクの移行先のステータス。 -
deviceArn(str): この量子タスクを作成したユーザーが指定したデバイス。 -
shots (int): ユーザーがリクエストしたshotsの数。
-
outputS3Bucket(str): ユーザーが指定した出力バケット。 -
outputS3Directory(str): ユーザーが指定した出力キープレフィックス。 -
createdAt(str): 量子タスクの作成時間 (形式: ISO-8601 文字列)。 -
endedAt(オプションで [str]): タスクが最終ステータスに達した日時。このフィールドは、量子タスクが最終ステータスに移行した場合にのみ表示されます。
次の JSON コードは、Amazon Braket 量子タスクステータス変更イベントの例を示しています。
{ "version":"0", "id":"6101452d-8caf-062b-6dbc-ceb5421334c5", "detail-type":"Braket Task State Change", "source":"aws.braket", "account":"012345678901", "time":"2021-10-28T01:17:45Z", "region":"us-east-1", "resources":[ "arn:aws:braket:us-east-1:012345678901:quantum-task/834b21ed-77a7-4b36-a90c-c776afc9a71e" ], "detail":{ "quantumTaskArn":"arn:aws:braket:us-east-1:012345678901:quantum-task/834b21ed-77a7-4b36-a90c-c776afc9a71e", "status":"COMPLETED", "deviceArn":"arn:aws:braket:::device/quantum-simulator/amazon/sv1", "shots":"100", "outputS3Bucket":"amazon-braket-0260a8bc871e", "outputS3Directory":"sns-testing/834b21ed-77a7-4b36-a90c-c776afc9a71e", "createdAt":"2021-10-28T01:17:42.898Z", "eventName":"MODIFY", "endedAt":"2021-10-28T01:17:44.735Z" } }