View a markdown version of this page

Streaming rekaman memori - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Streaming rekaman memori

Streaming rekaman memori di Amazon Bedrock AgentCore Memory memberikan pemberitahuan waktu nyata saat catatan memori dibuat, diperbarui, atau dihapus. Alih-alih melakukan polling API untuk mendeteksi perubahan, Anda menerima peristiwa berbasis push ke Kinesis Data Stream di akun Anda, memungkinkan arsitektur berbasis peristiwa yang bereaksi terhadap perubahan siklus hidup rekaman memori saat terjadi.

Dengan streaming rekaman memori, Anda dapat:

  • Menerima acara real-time untuk pembuatan, pembaruan, dan penghapusan catatan memori

  • Membangun arsitektur berbasis peristiwa tanpa polling API

  • Alirkan data rekaman memori ke danau data untuk konsolidasi dan manajemen profil

  • Memicu alur kerja hilir saat wawasan baru diekstraksi

  • Melacak perubahan status catatan memori di seluruh agen dan sesi

Cara kerjanya

Streaming catatan memori menggunakan model pengiriman berbasis push. Ketika catatan memori berubah, peristiwa secara otomatis dipublikasikan ke Kinesis Data Stream Anda.

Peristiwa dipicu oleh operasi berikut:

  1. Pembuatan - Ekstraksi asinkron dari peristiwa memori jangka pendek (melalui CreateEvent dan strategi memori), atau pembuatan langsung melalui API BatchCreateMemoryRecords

  2. Pembaruan - Modifikasi langsung melalui BatchUpdateMemoryRecords API

  3. Penghapusan — Alur kerja konsolidasi (de-duplication/superseding), DeleteMemoryRecord API, atau BatchDeleteMemoryRecords API

Jenis acara streaming

Tabel berikut menjelaskan jenis peristiwa aliran yang didukung dan kapan peristiwa tersebut dipicu.

Operasi Jenis acara streaming Dipicu oleh

Buat

MemoryRecordCreated

Memori jangka panjang extraction/consolidation, BatchCreateMemoryRecords API

Perbarui

MemoryRecordUpdated

API BatchUpdateMemoryRecords

Delete

MemoryRecordDeleted

BatchDeleteMemoryRecords, DeleteMemoryRecord API, konsolidasi memori jangka panjang

Skema peristiwa

MemoryRecordCreated / MemoryRecordUpdated

MemoryRecordCreateddan MemoryRecordUpdated acara berbagi skema yang sama.

{ "memoryStreamEvent": { "eventType": "<MemoryRecordCreated, MemoryRecordUpdated>", "eventTime": "2026-03-06T16:45:00.000Z", "memoryId": "<memory-id>", "memoryRecordId": "<memory-record-id>", "namespaces": ["<namespace>"], "createdAt": 1736622300000, "memoryStrategyId": "<memory-strategy-id>", "memoryStrategyType": "<memory-strategy-type>", "metadata": {<metadata>}, "memoryRecordText": "<memory-record-text>" } }

Bid memoryRecordText ang hanya disertakan ketika tingkat konten pada konfigurasi pengiriman aliran disetel keFULL_CONTENT. Lihat Meng onfigurasi tingkat konten acara untuk detail tambahan.

MemoryRecordDeleted

{ "memoryStreamEvent": { "eventType": "MemoryRecordDeleted", "eventTime": "2026-02-16T00:13:54.912530116Z", "memoryId": "<memory-id>", "memoryRecordId": "<memory-record-id>" } }

Peristiwa penghapusan hanya berisi memori dan pengidentifikasi rekaman, terlepas dari tingkat konten yang dikonfigurasi.

Prasyarat

Sebelum mengatur streaming rekaman memori, verifikasi bahwa Anda memiliki:

  • AWS Akun dengan izin yang sesuai

  • Akses Amazon Bedrock AgentCore

  • Pemahaman dasar tentang AWS IAM dan Amazon Kinesis Data Streams

Siapkan streaming

Langkah 1: Buat Kinesis Data Stream

Buat Aliran Data Kinesis di akun Anda tempat Amazon Bedrock AgentCore akan mempublikasikan peristiwa siklus hidup catatan memori.

Anda dapat membuat streaming menggunakan Kon AWS sol, CDK, CloudFormation, atau AWS CLI. Jika Anda mengaktifkan enkripsi sisi server Kinesis, perhatikan kunci KMS ARN — Anda akan memerlukannya untuk izin peran IAM.

Langkah 2: Siapkan konsumen

Siapkan konsumen untuk memproses peristiwa dari Kinesis Data Stream Anda.

Berikan konsumen Anda AmazonKinesisReadOnlyAccess (atau izin yang setara) dan tambahkan Aliran Data Kinesis sebagai pemicu.

Langkah 3: Buat peran IAM

Buat peran IAM yang AgentCore dapat diasumsikan Amazon Bedrock untuk mempublikasikan acara ke Kinesis Data Stream Anda.

Kebijakan kepercayaan:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:<region>:<account-id>:memory/*" } } } ] }

Kebijakan izin:

Untuk strategi memori bawaan, kebijakan izin terlihat seperti berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:PutRecords", "kinesis:DescribeStream" ], "Resource": "arn:aws:kinesis:<region>:<account-id>:stream/<stream-name>" } ] }

Untuk strategi memori khusus, kebijakan izin terlihat seperti berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:PutRecords", "kinesis:DescribeStream" ], "Resource": "arn:aws:kinesis:<region>:<account-id>:stream/<stream-name>" }, { "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:*:*:inference-profile/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }

Jika Kinesis Data Stream Anda menggunakan enkripsi sisi server, tambahkan yang berikut ini ke kebijakan izin:

{ "Sid": "KMSPermissions", "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:<region>:<account-id>:key/your-kinesis-data-stream-key-id" }

Langkah 4: Buat memori dengan streaming diaktifkan

Gunakan CreateMemory API untuk membuat Memori Amazon Bedrock AgentCore dengan sumber daya pengiriman aliran. Anda harus menyediakan memoryExecutionRoleArn saat menentukan sumber daya pengiriman aliran.

aws bedrock-agentcore-control create-memory \ --name "MyStreamingMemory" \ --description "Memory with long term memory record streaming enabled" \ --event-expiry-duration 30 \ --memory-execution-role-arn "arn:aws:iam::<account-id>:role/AgentCoreMemoryRole" \ --stream-delivery-resources '{ "resources": [ { "kinesis": { "dataStreamArn": "arn:aws:kinesis:<region>:<account-id>:stream/<stream-name>", "contentConfigurations": [ { "type": "MEMORY_RECORDS", "level": "FULL_CONTENT" } ] } } ] }'

Langkah 5: Verifikasi integrasi streaming Anda

Saat Anda membuat memori dengan streaming diaktifkan, Amazon Bedrock AgentCore Memory memvalidasi konfigurasi dan izin. Setelah validasi berhasil, StreamingEnabled acara dipublikasikan ke Kinesis Data Stream Anda.

Periksa konsumen Anda untuk acara validasi dalam format berikut:

{ "memoryStreamEvent": { "eventType": "StreamingEnabled", "eventTime": "2026-03-03T19:27:08.344082626Z", "memoryId": "<memory-id>", "message": "Streaming enabled for memory resource: <memory-id>" } }

Konfigurasikan tingkat konten acara

Bid contentConfigurations ang mengontrol data apa yang disertakan dalam setiap acara. Anda dapat memilih antara dua level konten:

  • METADATA_ON LY: Peristiwa aliran hanya menyertakan bidang metadata (memoryId,,memoryRecordId,namespaces, stem strategyId pel waktu, dan sebagainya). Memerlukan panggilan API untuk mengambil konten rekaman memori penuh.

  • FULLCONTENT: Acara streaming mencakup semua bidang metadata ditambah memoryRecordText bidang yang berisi konten catatan memori.

Gunakan METADATA_ONLY untuk pemberitahuan peristiwa ringan di mana Anda hanya perlu mengetahui bahwa perubahan terjadi. Gunakan FULL_CONTENT saat pemrosesan hilir Anda membutuhkan teks rekaman memori tanpa melakukan panggilan API tambahan.

Uji implementasi Anda

Langkah 1: Buat acara pengujian

Gunakan API Data Plane untuk menghasilkan peristiwa siklus hidup rekaman memori dan memverifikasi bahwa peristiwa tersebut muncul di konsumen Anda.

Buat peristiwa melalui memori jangka pendek (memicu ekstraksi asinkron):

aws bedrock-agentcore create-event \ --memory-id "<memory-id>" \ --actor-id "test-user" \ --session-id "test-session-1" \ --event-timestamp "$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ")" \ --payload '[ { "conversational": { "content": {"text": "I prefer Italian restaurants with outdoor seating"}, "role": "USER" } }, { "conversational": { "content": {"text": "Noted! I will remember your preference for Italian restaurants with outdoor seating."}, "role": "ASSISTANT" } } ]'

Buat catatan secara langsung:

aws bedrock-agentcore batch-create-memory-records \ --memory-id "<memory-id>" \ --records '[ { "requestIdentifier": "test-1", "content": {"text": "User prefers window seats on flights"}, "namespaces": ["travel/test-user"], "timestamp": "1729525989" } ]'

Langkah 2: Verifikasi pengiriman

Periksa konsumen Anda untuk mengonfirmasi bahwa acara sedang diterima. Anda akan melihat MemoryRecordCreated peristiwa untuk catatan yang dibuat melalui salah satu metode.

Anda juga dapat memantau kesehatan pengiriman menggunakan Metrik dan Log.

Anda dapat menggunakan ListMemoryRecords API untuk referensi silang:

aws bedrock-agentcore list-memory-records \ --memory-id "<memory-id>" \ --namespace "<namespace>"

Kelola konfigurasi streaming

Perbarui konfigurasi streaming

Gunakan UpdateMemory API untuk memodifikasi atau menghapus sumber daya pengiriman aliran.

Hapus streaming:

aws bedrock-agentcore-control update-memory \ --region us-east-1 \ --memory-id "<memory-id>" \ --stream-delivery-resources '{"resources": []}'

Ubah tingkat konten

aws bedrock-agentcore-control update-memory \ --memory-id "<memory-id>" \ --stream-delivery-resources '{ "resources": [ { "kinesis": { "dataStreamArn": "arn:aws:kinesis:us-east-1:<account-id>:stream/<stream-name>", "contentConfigurations": [ { "type": "MEMORY_RECORDS", "level": "METADATA_ONLY" } ] } } ] }'

Observabilitas

Amazon Bedrock AgentCore Memory menjual met CloudWatch rik dan log ke AWS akun Anda, memberi Anda visibilitas ke dalam kesehatan dan status pengiriman aliran catatan memori.

Metrik-metrik

Metrik dipublikasikan ke akun Anda di bawah AWS/Bedrock-AgentCore namespace.

Metrik Deskripsi

StreamPublishingSuccess

Jumlah peristiwa rekaman memori yang berhasil dipublikasikan ke Kinesis Data Stream Anda.

StreamPublishingFailure

Jumlah peristiwa rekaman memori yang gagal dipublikasikan ke Kinesis Data Stream Anda.

StreamUserError

Jumlah peristiwa yang gagal karena masalah konfigurasi sisi pelanggan, seperti izin IAM yang hilang atau status kunci KMS yang tidak valid.

Semua metrik dipancarkan sebagai Count unit dengan dimensi berikut:

Dimensi Nilai Deskripsi

Operasi

MemoryStreamEvent

Jenis operasi streaming.

Sumber daya

Memori ARN

ARN dari sumber daya memori (misalnya,arn:aws:bedrock-agentcore:us-east-1:123456789012:memory/memory-123).

Beberapa catatan

Amazon Bedrock AgentCore Memory menjual log ke akun Anda saat kegagalan penerbitan terminal (tidak dapat dicoba ulang) terjadi.

Bidang Deskripsi

log

Pesan kesalahan yang menjelaskan kegagalan.

streamArn

Target Kinesis Data Stream ARN.

errorCode

Kode kesalahan spesifik.

errorMessage

Deskripsi kesalahan yang dapat dibaca manusia.

eventType

Jenis peristiwa aliran (MemoryRecordCreated,MemoryRecordUpdated, atauMemoryRecordDeleted).

memoryRecordId

Pengidentifikasi catatan memori yang terpengaruh.