View a markdown version of this page

Transmisión de registros de memoria - Amazon Bedrock AgentCore

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

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:

  1. Creación: extracción asíncrona de eventos de memoria a corto plazo (mediante estrategias de memoria CreateEvent y estrategias de memoria) o creación directa mediante una API BatchCreateMemoryRecords

  2. Actualizaciones: modificación directa a través de la API BatchUpdateMemoryRecords

  3. Eliminación: flujos de trabajo de consolidación (duplication/supersedingdes-), DeleteMemoryRecord API o BatchDeleteMemoryRecords API

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

MemoryRecordCreated

Memoria a largo plazo extraction/consolidation, BatchCreateMemoryRecords API

Actualización

MemoryRecordUpdated

API BatchUpdateMemoryRecords

Eliminar

MemoryRecordDeleted

BatchDeleteMemoryRecords, DeleteMemoryRecord API, consolidación de memoria a largo plazo

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 memoryRecordText campo 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)

StreamPublishingSuccess

El número de eventos de registro de memoria publicados correctamente en su Kinesis Data Stream.

StreamPublishingFailure

El número de eventos de registro de memoria que no se pudieron publicar en su Kinesis Data Stream.

StreamUserError

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

MemoryStreamEvent

El tipo de operación de streaming.

Recurso

ARN de memoria

El ARN del recurso de memoria (por ejemplo,arn:aws:bedrock-agentcore:us-east-1:123456789012:memory/memory-123).

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)

log

Mensaje de error que describe el error.

streamArn

El ARN de Kinesis Data Stream de destino.

errorCode

El código de error específico.

errorMessage

Una descripción del error legible para el ser humano.

eventType

El tipo de evento de transmisión (MemoryRecordCreated,MemoryRecordUpdated, oMemoryRecordDeleted).

memoryRecordId

El identificador del registro de memoria afectado.