Bedrock Data Automation API を使用する
Amazon Bedrock Data Automation (BDA) 機能は、データを処理するための合理化された API ワークフローを提供します。すべてのモダリティにおいて、このワークフローは、プロジェクトの作成、分析の呼び出し、結果の取得の 3 つの主要なステップで構成されます。処理されたデータのカスタム出力を取得するには、分析オペレーションを呼び出すときにブループリント ARN を指定します。
データ自動化プロジェクトを作成する
BDA を使用してファイルの処理を開始するには、まずデータ自動化プロジェクトを作成する必要があります。これは、CreateDataAutomationProject オペレーションまたは Amazon Amazon Bedrock コンソールの 2 つの方法で実行できます。
API を使用する
API を使用してプロジェクトを作成する場合は、CreateDataAutomationProject を呼び出します。プロジェクトを作成するときは、よく処理するファイルの種類 (使用する予定のモダリティ) の設定を定義する必要があります。画像の標準出力を設定する方法の例を次に示します。
{ "standardOutputConfiguration": { "image": { "state": "ENABLED", "extraction": { "category": { "state": "ENABLED", "types": [ "CONTENT_MODERATION", "TEXT_DETECTION" ] }, "boundingBox": { "state": "ENABLED" } }, "generativeField": { "state": "ENABLED", "types": [ "IMAGE_SUMMARY", "IAB" ] } } } }
API により入力設定が検証されます。一意の ARN を持つ新しいプロジェクトが作成されます。後で使用できるようにプロジェクト設定が保存されます。パラメータを指定せずにプロジェクトを作成した場合、デフォルト設定が適用されます。例えば、画像を処理する場合、画像の要約とテキスト検出がデフォルトで有効になります。
AWS アカウントごとに作成できるプロジェクトの数には制限があります。特定の設定の組み合わせは許可されないか、追加のアクセス許可が必要になる場合があります。
データ自動化非同期を呼び出す
プロジェクトをセットアップしたら、InvokeDataAutomationAsync オペレーションを使用して画像の処理を開始できます。カスタム出力を使用する場合は、リクエストごとに 1 つのブループリント ARN のみ送信できます。
この API コールは、指定された S3 バケット内のファイルの非同期処理を開始します。API は、処理されるプロジェクト ARN とファイルを受け入れ、非同期処理ジョブを開始します。プロセスを追跡するため、ジョブ ID が返されます。プロジェクトが存在しない場合、発信者に必要なアクセス許可がない場合、または入力ファイルがサポートされている形式でない場合、エラーが発生します。
以下は、JSON リクエストの構造です。
{ { "blueprints": [ { "blueprintArn": "string", "stage": "string", "version": "string" } ], "clientToken": "string", "dataAutomationConfiguration": { "dataAutomationProjectArn": "string", "stage": "string" }, "dataAutomationProfileArn": "string", "encryptionConfiguration": { "kmsEncryptionContext": { "string" : "string" }, "kmsKeyId": "string" }, "inputConfiguration": { "assetProcessingConfiguration": { "video": { "segmentConfiguration": { ... } } "s3Uri": "string" }, "notificationConfiguration": { "eventBridgeConfiguration": { "eventBridgeEnabled":boolean} }, "outputConfiguration": { "s3Uri": "string" }, "tags": [ { "key": "sstring", "value": "string" } ] } }
動画ファイルで InvokeDataAutomationAsync を実行すると、データ抽出対象の動画全体として扱われる動画の 5 分以上のセクションを設定できます。この時間は、開始ミリ秒と終了ミリ秒のタイムスタンプで設定されます。この情報は assetProcessingConfiguration 要素に追加されます。
データ自動化ステータスを取得する
処理ジョブのステータスをチェックして結果を取得するには、GetDataAutomationStatus を使用します。
GetDataAutomationStatus API を使用すると、ジョブの進行状況をモニタリングし、処理が完了したら結果にアクセスできます。InvokeDataAutomationAsync によって返される呼び出し ARN が API により受け入れられます。ジョブの現在のステータスがチェックされ、関連情報が返されます。ジョブが完了すると、S3 内の結果の場所が示されます。
ジョブがまだ進行中の場合は、現在の状態 (「InProgress」など) が返されます。ジョブが完了すると、S3 内の結果の場所とともに「Success」が返されます。エラーが発生した場合、エラーの詳細とともに「ServiceError」または「ClientError」が返されます。
リクエスト JSON は次の形式です。
{ "InvocationArn": "string" // Arn }
非同期出力レスポンス
ファイル処理の結果は、入力画像用に設定された S3 バケットに保存されます。出力には、InvokeDataAutomationAsync の呼び出しで指定されたファイルモダリティとオペレーションタイプの両方に応じて、一意の構造が含められます。
特定のモダリティの標準出力の詳細については、「Bedrock Data Automation の標準出力」を参照してください。
例えば、画像には以下の情報が含められる可能性があります。
画像の要約: 画像のわかりやすい要約またはキャプション。
IAB 分類: IAB 分類に基づく分類。
画像テキスト検出: 境界ボックス情報を含む抽出テキスト。
コンテンツモデレーション: 画像内の不適切、望ましくない、または不快なコンテンツを検出します。
以下は、画像処理の出力のスニペット例です。
{ "metadata": { "id": "image_123", "semantic_modality": "IMAGE", "s3_bucket": "my-s3-bucket", "s3_prefix": "images/", "image_width_pixels": 1920, "image_height_pixels": 1080 }, "image": { "summary": "A lively party scene with colorful decorations and supplies", "iab_categories": [ { "category": "Party Supplies", "confidence": 0.9, "parent_name": "Events & Attractions" } ], "content_moderation": [ { "category": "Drugs & Tobacco Paraphernalia & Use", "confidence": 0.7 } ], "text_words": [ { "id": "word_1", "text": "lively", "confidence": 0.9, "line_id": "line_1", "locations": [ { "bounding_box": { "left": 100, "top": 200, "width": 50, "height": 20 }, "polygon": [ { "x": 100, "y": 200 }, { "x": 150, "y": 200 }, { "x": 150, "y": 220 }, { "x": 100, "y": 220 } ] } ] } ] } }
この構造化された出力により、ダウンストリームアプリケーションとの統合とさらなる分析が容易になります。