View a markdown version of this page

Streaming rekaman memori - Batuan Dasar Amazon AgentCore

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

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:

  1. Penciptaan — 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), API, DeleteMemoryRecord atau API BatchDeleteMemoryRecords

Jenis acara streaming

Tabel berikut menjelaskan jenis peristiwa aliran yang didukung dan kapan 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>" } }

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,,,, stempel memoryRecordId waktu namespacesstrategyId, dan sebagainya). Memerlukan panggilan API untuk mengambil konten rekaman memori lengkap.

  • FULL_CONTENT: Acara streaming mencakup semua bidang metadata ditambah bidang yang berisi konten memoryRecordText catatan 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

StreamPublishingSuccess

Jumlah peristiwa catatan 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 satuan 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) 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 acara streaming (MemoryRecordCreated,MemoryRecordUpdated, atauMemoryRecordDeleted).

memoryRecordId

Pengidentifikasi catatan memori yang terpengaruh.