View a markdown version of this page

Transmisión de registros de memoria - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Transmisión de registros de memoria

La transmisión de registros de memoria en Amazon Bedrock AgentCore Memory envía 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 crear 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 sondear las API

  • Transmita los datos de los registros de memoria a lagos de datos para la consolidación y la administración de perfiles

  • Active los flujos de trabajo posteriores cuando se extraigan nuevos conocimientos

  • Realice un seguimiento de la memoria y registre los cambios de estado entre agentes y sesiones

Funcionamiento

La transmisión de registros de memoria utiliza un modelo de entrega basado en notificaciones push. Cuando los registros de memoria cambian, los eventos se publican automáticamente en su Kinesis Data Stream.

Los eventos se activan mediante las siguientes operaciones:

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

  2. Actualizaciones: modificación directa mediante 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. Consulta 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 tiene:

  • Una AWS cuenta con los permisos adecuados

  • Acceso a Amazon Bedrock AgentCore

  • Comprensión básica 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 CloudFormation CLI. AWS Si habilita el cifrado del lado del servidor de Kinesis, anote el ARN de la clave de KMS; lo 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.

Otorgue a su consumidor AmazonKinesisReadOnlyAccess (o permisos equivalentes) y añada el 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 transmisión de datos de Kinesis.

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 el cifrado del lado del servidor, agregue 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 de Amazon Bedrock con un recurso de entrega de streaming. Debe proporcionarla 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 tu integración de streaming

Al crear 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.

Consulte a su consumidor para ver si hay 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. Puede 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.

METADATA_ONLYUtilízalo para notificaciones de eventos ligeras en las que solo necesitas saber si se ha producido un cambio. FULL_CONTENTUtilízalo cuando el procesamiento posterior necesite que la memoria registre el texto sin realizar llamadas adicionales a la API.

Pruebe su implementación

Paso 1: Crear eventos de prueba

Utilice las API de Data Plane para generar eventos del ciclo de vida de registro de la memoria y verificar que aparezcan en su consumidor.

Cree eventos a través de la memoria a corto plazo (desencadena la extracción asincrónica):

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

Consulta a tu 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 puedes supervisar el estado de las entregas mediante las métricas y los 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

Actualiza 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 conocer 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

La cantidad de eventos de registro de memoria que se publicaron correctamente en su Kinesis Data Stream.

StreamPublishingFailure

La cantidad 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 lado 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

Memoria: ARN

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 terminales (que no se pueden volver a intentar).

Campo Description (Descripción)

log

Mensaje de error en el que se 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 por humanos.

eventType

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

memoryRecordId

El identificador del registro de memoria afectado.