本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Bedrock Data Automation API
Amazon Bedrock 資料自動化 (BDA) 功能提供簡化的 API 工作流程來處理您的資料。對於所有模態,此工作流程包含三個主要步驟:建立專案、叫用分析,以及擷取結果。若要擷取已處理資料的自訂輸出,請在叫用分析操作時提供藍圖 ARN。
建立資料自動化專案
若要開始使用 BDA 處理檔案,您首先需要建立資料自動化專案。這可以透過兩種方式完成,包括 CreateDataAutomationProject 操作或 Amazon Amazon Bedrock 主控台。
使用 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 操作開始處理映像。如果使用自訂輸出,則每個請求只能提交單一藍圖 ARN。
此 API 呼叫會啟動指定 S3 儲存貯體中檔案的非同步處理。API 接受專案 ARN 和要處理的檔案位置,然後啟動非同步處理任務。系統會傳回任務 ID 以追蹤程序。如果專案不存在、發起人具有必要的許可,或輸入檔案不是支援的格式,則會引發錯誤。
以下是 JSON 請求的結構:
{ "InputConfiguration" : { "s3Uri": "string"}, // required "DataAutomationConfiguration" : { "DataAutomationARN": "", "stage": LIVE | DEV }, // optional "BlueprintArn": [], // optional "OutputConfiguration" : { "s3Uri": "string" }, // required "EncryptionConfiguration": { // optional "KmsKeyId": "string", "KmsEncryptionContext": { "key" : "string" }, }, "NotificationConfiguration": { // optional "EventBridgeConfiguration": {"EventBridgeEnabled" : Boolean }, } "ClientToken": "string", "JobTags": { "string" : "string" } }
取得資料自動化狀態
若要檢查處理任務的狀態並擷取結果,請使用 GetDataAutomationStatus。
GetDataAutomationStatus API 可讓您監控任務進度,並在處理完成後存取結果。API 接受 InvokeDataAutomationAsync 傳回的任務 ID。它會檢查任務的目前狀態,並傳回相關資訊。任務完成後,它會在 S3 中提供結果的位置。
如果任務仍在進行中,則會傳回目前狀態 (例如 "RUNNING"、"QUEUED")。如果任務完成,它會傳回「COMPLETED」以及結果的 S3 位置。如果發生錯誤,則會傳回包含錯誤詳細資訊的「FAILED」。
以下是請求 JSON 的格式:
{ "InvocationArn": "string" // Arn }
非同步輸出回應
檔案處理的結果會存放在為輸入映像設定的 S3 儲存貯體中。輸出包含唯一的結構,這取決於檔案模態和呼叫 InvokeDataAutomationAsync 時指定的操作類型。
如需指定模態的標準輸出資訊,請參閱 Bedrock 資料自動化中的標準輸出。
例如,對於影像,它可以包含下列資訊:
影像摘要:影像的描述性摘要或字幕。
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} ] } ] } ], } }
此結構化輸出可讓您輕鬆與下游應用程式整合,並進行進一步分析。