> For the complete documentation index, see llms.txt.
Skip to main content

Check out Port for yourself ➜ 

Amazon DynamoDB

AWS::DynamoDB::Table

The following example demonstrates how to ingest your AWS DynamoDB tables to Port.

DynamoDB Table supported actions

The table below summarizes the available actions for ingesting Amazon DynamoDB Table resources in Port:

ActionDescriptionTypeRequired AWS Permission
ListTablesActionDiscover DynamoDB tables in each region.Defaultdynamodb:ListTables
GetTableDetailsActionRetrieve detailed table configuration including status, billing mode, size, item count, encryption, and deletion protection.Defaultdynamodb:DescribeTable
GetTableTagsActionRetrieve tags associated with each table. Required to populate the tags property.Optionaldynamodb:ListTagsOfResource
GetTableBackupStatusActionRetrieve continuous backup and point-in-time recovery status for each table.Optionaldynamodb:DescribeContinuousBackups
Optional Properties Note

Properties of optional actions will not appear in the response unless you explicitly include the action that provides them in your configuration.

You can use the following Port blueprint definitions and integration configuration:

DynamoDB Table blueprint (click to expand)
{
"identifier": "dynamodbTable",
"title": "DynamoDB Table",
"description": "This blueprint represents an AWS DynamoDB table in our software catalog",
"icon": "AmazonDynamoDB",
"schema": {
"properties": {
"tableArn": {
"type": "string",
"title": "Table ARN",
"description": "The Amazon Resource Name (ARN) of the DynamoDB table"
},
"tableStatus": {
"type": "string",
"title": "Status",
"description": "The current status of the table"
},
"billingMode": {
"type": "string",
"title": "Billing mode",
"description": "The billing mode of the table (PROVISIONED or PAY_PER_REQUEST)"
},
"itemCount": {
"type": "number",
"title": "Item count",
"description": "The number of items in the table"
},
"tableSizeBytes": {
"type": "number",
"title": "Table size (bytes)",
"description": "The total size of the table in bytes"
},
"creationDateTime": {
"type": "string",
"title": "Creation date",
"description": "The date and time when the table was created",
"format": "date-time"
},
"deletionProtectionEnabled": {
"type": "boolean",
"title": "Deletion protection",
"description": "Whether deletion protection is enabled for the table"
},
"encryptionType": {
"type": "string",
"title": "Encryption type",
"description": "The type of server-side encryption (AES256 or KMS)"
},
"region": {
"type": "string",
"title": "Region",
"description": "The AWS region where the table resides"
},
"tags": {
"type": "array",
"title": "Tags",
"description": "Tags associated with the table",
"items": {
"type": "object"
}
}
},
"required": []
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {
"account": {
"title": "Account",
"target": "awsAccount",
"required": true,
"many": false
}
}
}
DynamoDB Table mapping configuration (click to expand)
resources:
- kind: AWS::DynamoDB::Table
selector:
query: 'true'
includeActions:
- GetTableTagsAction
port:
entity:
mappings:
identifier: .Properties.TableArn
title: .Properties.TableName
blueprint: '"dynamodbTable"'
properties:
tableArn: .Properties.TableArn
tableStatus: .Properties.TableStatus
billingMode: .Properties.BillingModeSummary.BillingMode
itemCount: .Properties.ItemCount
tableSizeBytes: .Properties.TableSizeBytes
creationDateTime: .Properties.CreationDateTime
deletionProtectionEnabled: .Properties.DeletionProtectionEnabled
encryptionType: .Properties.SSEDescription.SSEType
region: .__ExtraContext.Region
tags: .Properties.Tags
relations:
account: .__ExtraContext.AccountId

For more details about DynamoDB table properties, refer to the AWS DynamoDB API documentation.