Transmisión de registros de memoria
La transmisión de registros de memoria en Amazon Bedrock AgentCore Memory ofrece notificaciones en tiempo real cuando se crean, actualizan o eliminan registros de memoria. En lugar de sondear las API para detectar cambios, recibe eventos push en un Kinesis Data Stream de su cuenta, lo que permite arquitecturas basadas en eventos que reaccionan a los cambios en el ciclo de vida de los registros de memoria a medida que se producen.
Con la transmisión de registros de memoria, puede:
-
Reciba eventos en tiempo real para la creación, actualización y eliminación de registros de memoria
-
Cree arquitecturas basadas en eventos sin necesidad de sondear las API
-
Transmita los datos de los registros de memoria a los lagos de datos para la consolidación y la administración de perfiles
-
Active flujos de trabajo posteriores cuando se extraigan nuevos conocimientos
-
Realice un seguimiento de los cambios de estado del registro de la memoria entre los agentes y las sesiones
Temas
Funcionamiento
La transmisión de registros de memoria utiliza un modelo de entrega basado en push. Cuando los registros de memoria cambian, los eventos se publican automáticamente en su Kinesis Data Stream.
Los eventos se desencadenan mediante las siguientes operaciones:
-
Creación: extracción asíncrona de eventos de memoria a corto plazo (mediante estrategias de memoria
CreateEventy estrategias de memoria) o creación directa mediante una APIBatchCreateMemoryRecords -
Actualizaciones: modificación directa a través de la API
BatchUpdateMemoryRecords -
Eliminación: flujos de trabajo de consolidación (duplication/supersedingdes-),
DeleteMemoryRecordAPI oBatchDeleteMemoryRecordsAPI
Tipos de eventos de transmisión
En la siguiente tabla se describen los tipos de eventos de transmisión admitidos y cuándo se activan.
| Operación | Tipo de evento de transmisión | Activado por |
|---|---|---|
|
Crear |
|
Memoria a largo plazo extraction/consolidation, |
|
Actualización |
|
API |
|
Eliminar |
|
|
Esquema de evento
MemoryRecordCreated / MemoryRecordUpdated
MemoryRecordCreatedy MemoryRecordUpdated los eventos comparten el mismo esquema.
{ "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>" } }
El memoryRecordText campo solo se incluye cuando el nivel de contenido de la configuración de entrega de transmisiones está establecido enFULL_CONTENT. Consulte Configurar el nivel de contenido del evento para obtener más información.
MemoryRecordDeleted
{ "memoryStreamEvent": { "eventType": "MemoryRecordDeleted", "eventTime": "2026-02-16T00:13:54.912530116Z", "memoryId": "<memory-id>", "memoryRecordId": "<memory-record-id>" } }
Los eventos de eliminación contienen solo los identificadores de memoria y registro, independientemente del nivel de contenido configurado.
Requisitos previos
Antes de configurar la transmisión de registros de memoria, compruebe que dispone de lo siguiente:
-
Una AWS cuenta con los permisos adecuados
-
Acceso a Amazon Bedrock AgentCore
-
Conocimientos básicos de AWS IAM y Amazon Kinesis Data Streams
Configure la transmisión
Paso 1: crear un flujo de datos de Kinesis
Cree un Kinesis Data Stream en su cuenta en el que Amazon Bedrock AgentCore publique los eventos del ciclo de vida de los registros de memoria.
Puede crear la transmisión mediante la AWS consola, el CDK o la AWS CLI. CloudFormation Si habilita el cifrado del lado del servidor de Kinesis, anote el ARN de la clave de KMS; la necesitará para los permisos del rol de IAM.
Paso 2: Configurar un consumidor
Configure un consumidor para que procese los eventos de su Kinesis Data Stream.
Conceda a su consumidor AmazonKinesisReadOnlyAccess (o permisos equivalentes) y añada Kinesis Data Stream como activador.
Paso 3: Crear un rol de IAM
Cree una función de IAM que Amazon Bedrock AgentCore pueda asumir para publicar eventos en su Kinesis Data Stream.
Política de confianza:
{ "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/*" } } } ] }
Política de permisos:
En el caso de las estrategias de memoria integrada, la política de permisos tiene el siguiente aspecto:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:PutRecords", "kinesis:DescribeStream" ], "Resource": "arn:aws:kinesis:<region>:<account-id>:stream/<stream-name>" } ] }
En el caso de las estrategias de memoria personalizadas, la política de permisos tiene el siguiente aspecto:
{ "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}" } } } ] }
Si su Kinesis Data Stream utiliza cifrado del lado del servidor, añada lo siguiente a la política de permisos:
{ "Sid": "KMSPermissions", "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:<region>:<account-id>:key/your-kinesis-data-stream-key-id" }
Paso 4: Cree una memoria con la transmisión habilitada
Utilice la CreateMemory API para crear una AgentCore memoria Amazon Bedrock con un recurso de entrega de transmisiones. Debe proporcionarlos memoryExecutionRoleArn al especificar un recurso de entrega de transmisiones.
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" } ] } } ] }'
Paso 5: Verifica la integración de la transmisión
Cuando crea una memoria con la transmisión habilitada, Amazon Bedrock AgentCore Memory valida la configuración y los permisos. Tras la validación correcta, se publica un StreamingEnabled evento en su Kinesis Data Stream.
Compruebe si su consumidor ha realizado un evento de validación en el siguiente formato:
{ "memoryStreamEvent": { "eventType": "StreamingEnabled", "eventTime": "2026-03-03T19:27:08.344082626Z", "memoryId": "<memory-id>", "message": "Streaming enabled for memory resource: <memory-id>" } }
Configure el nivel de contenido del evento
El contentConfigurations campo controla los datos que se incluyen en cada evento. Puedes elegir entre dos niveles de contenido:
-
METADATA_ONLY: Los eventos de transmisión solo incluyen campos de metadatos (
memoryId,memoryRecordId,,namespacesstrategyId, marcas de tiempo, etc.). Requiere una llamada a la API para recuperar todo el contenido del registro de memoria. -
FULL_CONTENT: Los eventos de transmisión incluyen todos los campos de metadatos más el
memoryRecordTextcampo que contiene el contenido del registro de memoria.
Úselo METADATA_ONLY para notificaciones de eventos sencillas en las que solo necesita saber que se ha producido un cambio. Úselo FULL_CONTENT cuando su procesamiento posterior necesite que la memoria grabe texto sin realizar llamadas adicionales a la API.
Pon a prueba tu implementación
Paso 1: Crear eventos de prueba
Utilice las API de Data Plane para generar eventos del ciclo de vida de los registros de memoria y verificar que aparezcan en su consumidor.
Cree eventos a través de la memoria a corto plazo (activa la extracción asíncrona):
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" } } ]'
Cree registros directamente:
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" } ]'
Paso 2: Verificar la entrega
Consulte a su consumidor para confirmar que se están recibiendo los eventos. Deberías ver MemoryRecordCreated los eventos de los registros creados mediante cualquiera de los dos métodos.
También puede supervisar el estado de la entrega mediante métricas y registros.
Puedes usar la ListMemoryRecords API para hacer referencias cruzadas:
aws bedrock-agentcore list-memory-records \ --memory-id "<memory-id>" \ --namespace "<namespace>"
Administra la configuración de streaming
Actualice la configuración de streaming
Usa la UpdateMemory API para modificar o eliminar el recurso de entrega de transmisiones.
Eliminar la transmisión:
aws bedrock-agentcore-control update-memory \ --region us-east-1 \ --memory-id "<memory-id>" \ --stream-delivery-resources '{"resources": []}'
Cambiar el nivel de contenido
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" } ] } } ] }'
Observabilidad
Amazon Bedrock AgentCore Memory envía las CloudWatch métricas y los registros a su AWS cuenta, lo que le permite ver el estado y el estado de la transmisión de registros de memoria.
Métricas
Las métricas se publican en su cuenta en el AWS/Bedrock-AgentCore espacio de nombres.
| Métrica | Description (Descripción) |
|---|---|
|
|
El número de eventos de registro de memoria publicados correctamente en su Kinesis Data Stream. |
|
|
El número de eventos de registro de memoria que no se pudieron publicar en su Kinesis Data Stream. |
|
|
El número de eventos que fallaron debido a problemas de configuración del cliente, como la falta de permisos de IAM o un estado de clave de KMS no válido. |
Todas las métricas se emiten como Count unidades con las siguientes dimensiones:
| Dimensión | Valor | Description (Descripción) |
|---|---|---|
|
Operación |
|
El tipo de operación de streaming. |
|
Recurso |
ARN de memoria |
El ARN del recurso de memoria (por ejemplo, |
Registros
Amazon Bedrock AgentCore Memory envía los registros a su cuenta cuando se producen errores de publicación en el terminal (no se pueden volver a intentar).
| Campo | Description (Descripción) |
|---|---|
|
|
Mensaje de error que describe el error. |
|
|
El ARN de Kinesis Data Stream de destino. |
|
|
El código de error específico. |
|
|
Una descripción del error legible para el ser humano. |
|
|
El tipo de evento de transmisión ( |
|
|
El identificador del registro de memoria afectado. |