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 peristiwa real-time untuk pembuatan, pembaruan, dan penghapusan catatan memori
-
Membangun arsitektur berbasis peristiwa tanpa API polling
-
Alirkan data catatan memori ke dalam data lake untuk konsolidasi dan manajemen profil
-
Memicu alur kerja hilir saat wawasan baru diekstraksi
-
Lacak perubahan status catatan memori di seluruh agen dan sesi
Topik
Cara kerjanya
Streaming rekaman memori menggunakan model pengiriman berbasis push. Ketika catatan memori berubah, peristiwa secara otomatis dipublikasikan ke Aliran Data Kinesis Anda.
Peristiwa dipicu oleh operasi berikut:
-
Penciptaan — Ekstraksi asinkron dari peristiwa memori jangka pendek (melalui
CreateEventdan strategi memori), atau pembuatan langsung melalui APIBatchCreateMemoryRecords -
Pembaruan - Modifikasi langsung melalui
BatchUpdateMemoryRecordsAPI -
Penghapusan — Alur kerja konsolidasi (de-duplication/superseding), API,
DeleteMemoryRecordatau APIBatchDeleteMemoryRecords
Jenis acara streaming
Tabel berikut menjelaskan jenis peristiwa aliran yang didukung dan kapan dipicu.
| Operasi | Jenis acara streaming | Dipicu oleh |
|---|---|---|
|
Buat |
|
Memori jangka panjang extraction/consolidation, |
|
Perbarui |
|
API |
|
Delete |
|
|
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>" } }
memoryRecordTextBidang ini hanya disertakan ketika tingkat konten pada konfigurasi pengiriman aliran disetel keFULL_CONTENT. Lihat Mengonfigurasi 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 catatan 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
Mengatur 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 AWS Konsol, CDK CloudFormation, atau AWS CLI. Jika Anda mengaktifkan enkripsi sisi server Kinesis, perhatikan ARN kunci KMS — 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 Kinesis Data Stream sebagai pemicu.
Langkah 3: Buat peran IAM
Buat peran IAM yang AgentCore dapat diasumsikan oleh Amazon Bedrock untuk mempublikasikan peristiwa ke Aliran Data Kinesis 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 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 Amazon Bedrock AgentCore Memory 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, sebuah 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
contentConfigurationsBidang mengontrol data apa yang disertakan dalam setiap peristiwa. Anda dapat memilih antara dua tingkat konten:
-
METADATA_ONLY: Acara streaming hanya menyertakan bidang metadata (
memoryId,,,, stempelmemoryRecordIdwaktunamespacesstrategyId, dan sebagainya). Memerlukan panggilan API untuk mengambil konten rekaman memori lengkap. -
FULL_CONTENT: Acara streaming mencakup semua bidang metadata ditambah bidang yang berisi konten
memoryRecordTextcatatan memori.
Gunakan METADATA_ONLY untuk pemberitahuan acara ringan di mana Anda hanya perlu tahu 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 uji coba
Gunakan API Data Plane untuk menghasilkan peristiwa siklus hidup rekaman memori dan memverifikasi peristiwa tersebut muncul di konsumen Anda.
Buat acara 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 acara 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 CloudWatch metrik dan log ke AWS akun Anda, memberi Anda visibilitas ke kesehatan dan status pengiriman aliran catatan memori.
Metrik-metrik
Metrik dipublikasikan ke akun Anda di bawah AWS/Bedrock-AgentCore namespace.
| Metrik | Deskripsi |
|---|---|
|
|
Jumlah peristiwa catatan memori yang berhasil dipublikasikan ke Kinesis Data Stream Anda. |
|
|
Jumlah peristiwa rekaman memori yang gagal dipublikasikan ke Kinesis Data Stream Anda. |
|
|
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 satuan dengan dimensi berikut:
| Dimensi | Nilai | Deskripsi |
|---|---|---|
|
Operasi |
|
Jenis operasi streaming. |
|
Sumber daya |
Memori ARN |
ARN dari sumber daya memori (misalnya, |
Beberapa catatan
Amazon Bedrock AgentCore Memory menjual log ke akun Anda saat kegagalan penerbitan terminal (tidak dapat dicoba) terjadi.
| Bidang | Deskripsi |
|---|---|
|
|
Pesan kesalahan yang menjelaskan kegagalan. |
|
|
Target Kinesis Data Stream ARN. |
|
|
Kode kesalahan spesifik. |
|
|
Deskripsi kesalahan yang dapat dibaca manusia. |
|
|
Jenis acara streaming ( |
|
|
Pengidentifikasi catatan memori yang terpengaruh. |