title: @ddb-lib/amplify API description: AWS Amplify Gen 2 integration helpers
@ddb-lib/amplify API reference¶
AWS Amplify Gen 2 integration providing monitoring and pattern helpers for Amplify data operations.
Installation¶
Quick start¶
import { generateClient } from 'aws-amplify/data'
import { AmplifyMonitor } from '@ddb-lib/amplify'
const client = generateClient()
const monitor = new AmplifyMonitor(client)
// Operations are automatically monitored
const user = await client.models.User.get({ id: '123' })
const users = await client.models.User.list()
// Get statistics
const stats = monitor.getStats()
console.log(`Total operations: ${stats.totalOperations}`)
// Get recommendations
const recommendations = monitor.getRecommendations()
AmplifyMonitor class¶
Monitor Amplify data operations with statistics collection.
Constructor¶
Parameters: - client - Amplify data client - config - Optional configuration - enableStats?: boolean - Enable statistics (default: true) - enableRecommendations?: boolean - Enable recommendations (default: true)
Getstats()¶
Get operation statistics.
Getrecommendations()¶
Get optimization recommendations.
Amplifyhelpers class¶
Pattern helpers for Amplify schemas.
Entitykey()¶
Create entity keys for Amplify models.
Compositekey()¶
Create composite keys for Amplify relationships.
Integration example¶
import { generateClient } from 'aws-amplify/data'
import { AmplifyMonitor, AmplifyHelpers } from '@ddb-lib/amplify'
import type { Schema } from './amplify/data/resource'
const client = generateClient<Schema>()
const monitor = new AmplifyMonitor(client)
// Use pattern helpers
const userKey = AmplifyHelpers.entityKey('User', '123')
// Monitored operations
await client.models.User.create({
id: userKey,
name: 'John Doe',
email: 'john@example.com'
})
// View statistics
const stats = monitor.getStats()
console.log(`Operations: ${stats.totalOperations}`)
console.log(`Avg latency: ${stats.avgLatency}ms`)