Amazon DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado da AWS que oferece performance rápida e previsível com escalabilidade transparente. O DynamoDB permite armazenar e recuperar qualquer volume de dados e atender a qualquer nível de tráfego de requisições, sem que você precise gerenciar hardware ou infraestrutura.
Com o DynamoDB, você pode:
- Obter itens: Buscar itens nas suas tabelas usando chaves primárias
- Gravar itens: Adicionar ou substituir itens nas suas tabelas
- Consultar itens: Recuperar vários itens com queries em índices
- Escanear tabelas: Ler todos ou parte dos dados de uma tabela
- Atualizar itens: Modificar atributos específicos de itens existentes
- Excluir itens: Remover registros das suas tabelas
Na Zoen, a integração do DynamoDB permite que seus agentes acessem e manipulem tabelas do DynamoDB com segurança usando credenciais AWS. As operações suportadas incluem:
- Get: Recuperar um item pela chave
- Put: Inserir ou sobrescrever itens
- Query: Executar queries com condições de chave e filtros
- Scan: Ler vários itens escaneando a tabela ou índice
- Update: Alterar atributos específicos de um ou mais itens
- Delete: Remover um item de uma tabela
Esta integração capacita os agentes Zoen a automatizar tarefas de gerenciamento de dados nas suas tabelas DynamoDB de forma programática, para que você construa fluxos que gerenciem, modifiquem e recuperem dados NoSQL escaláveis sem esforço manual ou gerenciamento de servidores.
Integrate Amazon DynamoDB into workflows. Supports Get, Put, Query, Scan, Update, Delete, and Introspect operations on DynamoDB tables.
Get an item from a DynamoDB table by primary key
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
tableName | string | Yes | DynamoDB table name (e.g., "Users", "Orders") |
key | json | Yes | Primary key of the item to retrieve (e.g., {"pk": "USER#123"} or {"pk": "ORDER#456", "sk": "ITEM#789"}) |
consistentRead | boolean | No | Use strongly consistent read |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
item | json | Retrieved item |
Put an item into a DynamoDB table
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
tableName | string | Yes | DynamoDB table name (e.g., "Users", "Orders") |
item | json | Yes | Item to put into the table (e.g., {"pk": "USER#123", "name": "John", "email": "john@example.com"}) |
conditionExpression | string | No | Condition that must be met for the put to succeed (e.g., "attribute_not_exists(pk)" to prevent overwrites) |
expressionAttributeNames | json | No | Attribute name mappings for reserved words used in conditionExpression (e.g., {"#name": "name"}) |
expressionAttributeValues | json | No | Expression attribute values used in conditionExpression (e.g., {":expected": "value"}) |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
item | json | Created item |
Query items from a DynamoDB table using key conditions
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
tableName | string | Yes | DynamoDB table name (e.g., "Users", "Orders") |
keyConditionExpression | string | Yes | Key condition expression (e.g., "pk = :pk" or "pk = :pk AND sk BEGINS_WITH :prefix") |
filterExpression | string | No | Filter expression for results (e.g., "age > :minAge AND #status = :status") |
expressionAttributeNames | json | No | Attribute name mappings for reserved words (e.g., {"#status": "status"}) |
expressionAttributeValues | json | No | Expression attribute values (e.g., {":pk": "USER#123", ":minAge": 18}) |
indexName | string | No | Secondary index name to query (e.g., "GSI1", "email-index") |
limit | number | No | Maximum number of items to return (e.g., 10, 50, 100) |
exclusiveStartKey | json | No | Pagination token from a previous query's lastEvaluatedKey to continue fetching results |
scanIndexForward | boolean | No | Sort order for the sort key: true for ascending (default), false for descending |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
items | array | Array of items returned |
count | number | Number of items returned |
lastEvaluatedKey | json | Pagination token to pass as exclusiveStartKey to fetch the next page of results |
Scan all items in a DynamoDB table
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
tableName | string | Yes | DynamoDB table name (e.g., "Users", "Orders") |
filterExpression | string | No | Filter expression for results (e.g., "age > :minAge AND #status = :status") |
projectionExpression | string | No | Attributes to retrieve (e.g., "pk, sk, #name, email") |
expressionAttributeNames | json | No | Attribute name mappings for reserved words (e.g., {"#name": "name", "#status": "status"}) |
expressionAttributeValues | json | No | Expression attribute values (e.g., {":minAge": 18, ":status": "active"}) |
limit | number | No | Maximum number of items to return (e.g., 10, 50, 100) |
exclusiveStartKey | json | No | Pagination token from a previous scan's lastEvaluatedKey to continue fetching results |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
items | array | Array of items returned |
count | number | Number of items returned |
lastEvaluatedKey | json | Pagination token to pass as exclusiveStartKey to fetch the next page of results |
Update an item in a DynamoDB table
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
tableName | string | Yes | DynamoDB table name (e.g., "Users", "Orders") |
key | json | Yes | Primary key of the item to update (e.g., {"pk": "USER#123"} or {"pk": "ORDER#456", "sk": "ITEM#789"}) |
updateExpression | string | Yes | Update expression (e.g., "SET #name = :name, age = :age" or "SET #count = #count + :inc") |
expressionAttributeNames | json | No | Attribute name mappings for reserved words (e.g., {"#name": "name", "#count": "count"}) |
expressionAttributeValues | json | No | Expression attribute values (e.g., {":name": "John", ":age": 30, ":inc": 1}) |
conditionExpression | string | No | Condition that must be met for the update to succeed (e.g., "attribute_exists(pk)" or "version = :expectedVersion") |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
item | json | Updated item with all attributes |
Delete an item from a DynamoDB table
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
tableName | string | Yes | DynamoDB table name (e.g., "Users", "Orders") |
key | json | Yes | Primary key of the item to delete (e.g., {"pk": "USER#123"} or {"pk": "ORDER#456", "sk": "ITEM#789"}) |
conditionExpression | string | No | Condition that must be met for the delete to succeed (e.g., "attribute_exists(pk)") |
expressionAttributeNames | json | No | Attribute name mappings for reserved words used in conditionExpression (e.g., {"#status": "status"}) |
expressionAttributeValues | json | No | Expression attribute values used in conditionExpression (e.g., {":status": "active"}) |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
Introspect DynamoDB to list tables or get detailed schema information for a specific table
| Parameter | Type | Required | Description |
|---|
region | string | Yes | AWS region (e.g., us-east-1) |
accessKeyId | string | Yes | AWS access key ID |
secretAccessKey | string | Yes | AWS secret access key |
tableName | string | No | Optional table name to get detailed schema (e.g., "Users", "Orders"). If not provided, lists all tables. |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
tables | array | List of table names in the region |
tableDetails | json | Detailed schema information for a specific table |