# StreamViewType

When an item in the table is modified, StreamViewType determines what information is written to the stream for this table.

- Source: [`aws-dynamodb/lib/shared.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-dynamodb/lib/shared.ts#L306)

## Example

```ts
import * as eventsources from 'aws-cdk-lib/aws-lambda-event-sources';
import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';

declare const fn: lambda.Function;
const table = new dynamodb.Table(this, 'Table', {
  partitionKey: {
    name: 'id',
    type: dynamodb.AttributeType.STRING,
  },
  stream: dynamodb.StreamViewType.NEW_IMAGE,
});

fn.addEventSource(new eventsources.DynamoEventSource(table, {
  startingPosition: lambda.StartingPosition.LATEST,
  metricsConfig: {
    metrics: [lambda.MetricType.EVENT_COUNT],
  }
}));
```

## Members

| Member | Description |
| --- | --- |
| `NEW_IMAGE` | The entire item, as it appears after it was modified, is written to the stream. |
| `OLD_IMAGE` | The entire item, as it appeared before it was modified, is written to the stream. |
| `NEW_AND_OLD_IMAGES` | Both the new and the old item images of the item are written to the stream. |
| `KEYS_ONLY` | Only the key attributes of the modified item are written to the stream. |

## Referenced by

- [`TableOptions`](/v2/docs/aws-cdk-lib.aws_dynamodb.TableOptions).stream
- [`TablePropsV2`](/v2/docs/aws-cdk-lib.aws_dynamodb.TablePropsV2).dynamoStream
