feat(assets): add DynamoDBAttribute asset class#819
feat(assets): add DynamoDBAttribute asset class#819suseriAtlan wants to merge 2 commits intomainfrom
Conversation
Add DynamoDBAttribute(Column) to support DynamoDB column-level assets, matching the new type definition in the models repo with superTypes ["DynamoDB", "Column"] and the dynamo_db_table_dynamo_db_columns containment relationship. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.
- Apply ruff formatting to all changed files - Remove unused DynamoDBTable import from test file - Add DynamoDBAttribute to __init__.pyi stub for mypy resolution Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@claude /review |
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
Code ReviewThis PR adds a new Confidence Score: 4/5
Important Files Changed
Change FlowsequenceDiagram
participant User as SDK User
participant Creator as DynamoDBAttribute.creator()
participant Attrs as DynamoDBAttribute.Attributes.create()
participant Validate as validate_required_fields()
participant Connector as AtlanConnectorType.get_connector_name()
participant Table as DynamoDBTable.ref_by_qualified_name()
User->>Creator: name, parent_qualified_name, order
Creator->>Attrs: delegates to Attributes.create()
Attrs->>Validate: validates name, parent_qn, order
Attrs->>Connector: extracts connector_name from QN
Connector-->>Attrs: connection_qn, connector_name
Attrs->>Table: creates parent ref by qualified_name
Table-->>Attrs: DynamoDBTable reference
Attrs-->>Creator: DynamoDBAttribute.Attributes instance
Creator-->>User: DynamoDBAttribute asset
Findings
1. In
This makes Fix: #820 moves the -- |
Summary
DynamoDBAttribute(Column)class to support DynamoDB column-level assets, matching the newDynamoDBAttributetype definition in the models repo (superTypes: ["DynamoDB", "Column"])dynamoDBColumnsreverse relationship onDynamoDBTablecreator()classmethod with simplified DynamoDB QN format (default/dynamodb/{epoch}/{table}/{attribute})Changes
pyatlan/model/assets/dynamo_d_b_attribute.py(new)DynamoDBAttribute(Column)with DynamoDB supertype fields (status, partition key, sort key, read/write capacity units, NoSQL schema definition)DYNAMO_DB_TABLErelationship field linking toDynamoDBTablecreator()/Attributes.create()with validation and denormalizedtable_name,table_qualified_namepyatlan/model/assets/dynamo_dbtable.pyDYNAMO_DB_COLUMNSRelationField, convenience property, getter/setter, andAttributesfieldDynamoDBAttributepyatlan/model/assets/__init__.pyDynamoDBAttributeexporttests/unit/model/dynamo_db_attribute_test.py(new)create_for_modification,trim_to_requiredTest plan
pytest tests/unit/model/ -x -q)🤖 Generated with Claude Code