Amazon DynamoDB

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.

Usage Instructions

Integrate Amazon DynamoDB into workflows. Supports Get, Put, Query, Scan, Update, Delete, and Introspect operations on DynamoDB tables.

Actions

dynamodb_get

Get an item from a DynamoDB table by primary key

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
keyjsonYesPrimary key of the item to retrieve (e.g., {"pk": "USER#123"} or {"pk": "ORDER#456", "sk": "ITEM#789"})
consistentReadbooleanNoUse strongly consistent read

Output

ParameterTypeDescription
messagestringOperation status message
itemjsonRetrieved item

dynamodb_put

Put an item into a DynamoDB table

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
itemjsonYesItem to put into the table (e.g., {"pk": "USER#123", "name": "John", "email": "john@example.com"})
conditionExpressionstringNoCondition that must be met for the put to succeed (e.g., "attribute_not_exists(pk)" to prevent overwrites)
expressionAttributeNamesjsonNoAttribute name mappings for reserved words used in conditionExpression (e.g., {"#name": "name"})
expressionAttributeValuesjsonNoExpression attribute values used in conditionExpression (e.g., {":expected": "value"})

Output

ParameterTypeDescription
messagestringOperation status message
itemjsonCreated item

dynamodb_query

Query items from a DynamoDB table using key conditions

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
keyConditionExpressionstringYesKey condition expression (e.g., "pk = :pk" or "pk = :pk AND sk BEGINS_WITH :prefix")
filterExpressionstringNoFilter expression for results (e.g., "age > :minAge AND #status = :status")
expressionAttributeNamesjsonNoAttribute name mappings for reserved words (e.g., {"#status": "status"})
expressionAttributeValuesjsonNoExpression attribute values (e.g., {":pk": "USER#123", ":minAge": 18})
indexNamestringNoSecondary index name to query (e.g., "GSI1", "email-index")
limitnumberNoMaximum number of items to return (e.g., 10, 50, 100)
exclusiveStartKeyjsonNoPagination token from a previous query's lastEvaluatedKey to continue fetching results
scanIndexForwardbooleanNoSort order for the sort key: true for ascending (default), false for descending

Output

ParameterTypeDescription
messagestringOperation status message
itemsarrayArray of items returned
countnumberNumber of items returned
lastEvaluatedKeyjsonPagination token to pass as exclusiveStartKey to fetch the next page of results

dynamodb_scan

Scan all items in a DynamoDB table

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
filterExpressionstringNoFilter expression for results (e.g., "age > :minAge AND #status = :status")
projectionExpressionstringNoAttributes to retrieve (e.g., "pk, sk, #name, email")
expressionAttributeNamesjsonNoAttribute name mappings for reserved words (e.g., {"#name": "name", "#status": "status"})
expressionAttributeValuesjsonNoExpression attribute values (e.g., {":minAge": 18, ":status": "active"})
limitnumberNoMaximum number of items to return (e.g., 10, 50, 100)
exclusiveStartKeyjsonNoPagination token from a previous scan's lastEvaluatedKey to continue fetching results

Output

ParameterTypeDescription
messagestringOperation status message
itemsarrayArray of items returned
countnumberNumber of items returned
lastEvaluatedKeyjsonPagination token to pass as exclusiveStartKey to fetch the next page of results

dynamodb_update

Update an item in a DynamoDB table

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
keyjsonYesPrimary key of the item to update (e.g., {"pk": "USER#123"} or {"pk": "ORDER#456", "sk": "ITEM#789"})
updateExpressionstringYesUpdate expression (e.g., "SET #name = :name, age = :age" or "SET #count = #count + :inc")
expressionAttributeNamesjsonNoAttribute name mappings for reserved words (e.g., {"#name": "name", "#count": "count"})
expressionAttributeValuesjsonNoExpression attribute values (e.g., {":name": "John", ":age": 30, ":inc": 1})
conditionExpressionstringNoCondition that must be met for the update to succeed (e.g., "attribute_exists(pk)" or "version = :expectedVersion")

Output

ParameterTypeDescription
messagestringOperation status message
itemjsonUpdated item with all attributes

dynamodb_delete

Delete an item from a DynamoDB table

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
keyjsonYesPrimary key of the item to delete (e.g., {"pk": "USER#123"} or {"pk": "ORDER#456", "sk": "ITEM#789"})
conditionExpressionstringNoCondition that must be met for the delete to succeed (e.g., "attribute_exists(pk)")
expressionAttributeNamesjsonNoAttribute name mappings for reserved words used in conditionExpression (e.g., {"#status": "status"})
expressionAttributeValuesjsonNoExpression attribute values used in conditionExpression (e.g., {":status": "active"})

Output

ParameterTypeDescription
messagestringOperation status message

dynamodb_introspect

Introspect DynamoDB to list tables or get detailed schema information for a specific table

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringNoOptional table name to get detailed schema (e.g., "Users", "Orders"). If not provided, lists all tables.

Output

ParameterTypeDescription
messagestringOperation status message
tablesarrayList of table names in the region
tableDetailsjsonDetailed schema information for a specific table

On this page