View a markdown version of this page

Exemplos do DynamoDB usando ferramentas para V5 PowerShell - AWS Exemplos de código SDK

Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples GitHub .

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos do DynamoDB usando ferramentas para V5 PowerShell

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a Ferramentas da AWS para PowerShell V5 com o DynamoDB.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

Tópicos

Ações

O código de exemplo a seguir mostra como usar Add-DDBIndexSchema.

Ferramentas para PowerShell V5

Exemplo 1: cria um TableSchema objeto vazio e adiciona uma nova definição de índice secundário local a ele antes de gravar o TableSchema objeto no pipeline.

$schema | Add-DDBIndexSchema -IndexName "LastPostIndex" -RangeKeyName "LastPostDateTime" -RangeKeyDataType "S" -ProjectionType "keys_only" $schema = New-DDBTableSchema

Saída:

AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {LastPostDateTime} {} {LastPostIndex}

Exemplo 2: adiciona uma nova definição de índice secundário local ao TableSchema objeto fornecido antes de TableSchema gravá-lo novamente no pipeline. O TableSchema objeto também pode ser fornecido usando o parâmetro -Schema.

New-DDBTableSchema | Add-DDBIndexSchema -IndexName "LastPostIndex" -RangeKeyName "LastPostDateTime" -RangeKeyDataType "S" -ProjectionType "keys_only"

Saída:

AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {LastPostDateTime} {} {LastPostIndex}
  • Para obter detalhes sobre a API, consulte Add-DDBIndexSchema Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Add-DDBKeySchema.

Ferramentas para PowerShell V5

Exemplo 1: cria um TableSchema objeto vazio e adiciona entradas de definição de chave e atributo a ele usando os dados-chave especificados antes de gravar o TableSchema objeto no pipeline. O tipo de chave é declarado como 'HASH' por padrão; use o KeyType parâmetro - com um valor de 'RANGE' para declarar uma chave de intervalo.

$schema = New-DDBTableSchema $schema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S"

Saída:

AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {ForumName} {ForumName} {}

Exemplo 2: adiciona novas entradas de definição de chave e atributo ao TableSchema objeto fornecido antes de gravar o TableSchema objeto no pipeline. O tipo de chave é declarado como 'HASH' por padrão; use o KeyType parâmetro - com um valor de 'RANGE' para declarar uma chave de intervalo. O TableSchema objeto também pode ser fornecido usando o parâmetro -Schema.

New-DDBTableSchema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S"

Saída:

AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {ForumName} {ForumName} {}
  • Para obter detalhes sobre a API, consulte Add-DDBKeySchema Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar ConvertFrom-DDBItem.

Ferramentas para PowerShell V5

Exemplo 1: ConvertFrom-DDBItem é usado para converter o resultado de uma tabela de hash Get-DDBItem do DynamoDB AttributeValues em uma tabela de hash de tipos comuns, como string e double.

@{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem Get-DDBItem -TableName 'Music' -Key $key | ConvertFrom-DDBItem

Saída:

Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous
  • Para obter detalhes sobre a API, consulte ConvertFrom-DDBItem Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar ConvertTo-DDBItem.

Ferramentas para PowerShell V5

Exemplo 1: um exemplo de conversão de uma tabela de hash em um dicionário de valores de atributos do DynamoDB.

@{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem Key Value --- ----- SongTitle Amazon.DynamoDBv2.Model.AttributeValue Artist Amazon.DynamoDBv2.Model.AttributeValue

Exemplo 2: um exemplo de conversão de uma tabela de hash em um dicionário de valores de atributos do DynamoDB.

@{ MyMap = @{ MyString = 'my string' } MyStringSet = [System.Collections.Generic.HashSet[String]]@('my', 'string') MyNumericSet = [System.Collections.Generic.HashSet[Int]]@(1, 2, 3) MyBinarySet = [System.Collections.Generic.HashSet[System.IO.MemoryStream]]@( ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes('my'))), ([IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes('string'))) ) MyList1 = @('my', 'string') MyList2 = [System.Collections.Generic.List[Int]]@(1, 2) MyList3 = [System.Collections.ArrayList]@('one', 2, $true) } | ConvertTo-DDBItem

Saída:

Key Value --- ----- MyStringSet Amazon.DynamoDBv2.Model.AttributeValue MyList1 Amazon.DynamoDBv2.Model.AttributeValue MyNumericSet Amazon.DynamoDBv2.Model.AttributeValue MyList2 Amazon.DynamoDBv2.Model.AttributeValue MyBinarySet Amazon.DynamoDBv2.Model.AttributeValue MyMap Amazon.DynamoDBv2.Model.AttributeValue MyList3 Amazon.DynamoDBv2.Model.AttributeValue
  • Para obter detalhes sobre a API, consulte ConvertTo-DDBItem Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Get-DDBBatchItem.

Ferramentas para PowerShell V5

Exemplo 1: Obtém o item com SongTitle “Somewhere Down The Road” das tabelas 'Music' e 'Songs' do DynamoDB.

$key = @{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem $keysAndAttributes = New-Object Amazon.DynamoDBv2.Model.KeysAndAttributes $list = New-Object 'System.Collections.Generic.List[System.Collections.Generic.Dictionary[String, Amazon.DynamoDBv2.Model.AttributeValue]]' $list.Add($key) $keysAndAttributes.Keys = $list $requestItem = @{ 'Music' = [Amazon.DynamoDBv2.Model.KeysAndAttributes]$keysAndAttributes 'Songs' = [Amazon.DynamoDBv2.Model.KeysAndAttributes]$keysAndAttributes } $batchItems = Get-DDBBatchItem -RequestItem $requestItem $batchItems.GetEnumerator() | ForEach-Object {$PSItem.Value} | ConvertFrom-DDBItem

Saída:

Name Value ---- ----- Artist No One You Know SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous CriticRating 10 Genre Country Price 1.94 Artist No One You Know SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous CriticRating 10 Genre Country Price 1.94
  • Para obter detalhes sobre a API, consulte BatchGetItem Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Get-DDBItem.

Ferramentas para PowerShell V5

Exemplo 1: retorna o item do DynamoDB com a chave de partição SongTitle e a chave de classificação Artist.

$key = @{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem Get-DDBItem -TableName 'Music' -Key $key | ConvertFrom-DDBItem

Saída:

Name Value ---- ----- Genre Country SongTitle Somewhere Down The Road Price 1.94 Artist No One You Know CriticRating 9 AlbumTitle Somewhat Famous
  • Para obter detalhes sobre a API, consulte GetItem Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Get-DDBTable.

Ferramentas para PowerShell V5

Exemplo 1: exibe detalhes da tabela especificada.

Get-DDBTable -TableName "myTable"
  • Para obter detalhes sobre a API, consulte DescribeTable Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Get-DDBTableList.

Ferramentas para PowerShell V5

Exemplo 1: exibe detalhes de todas as tabelas, iterando automaticamente até que o serviço indique que não existem mais tabelas.

Get-DDBTableList
  • Para obter detalhes sobre a API, consulte ListTables Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Invoke-DDBQuery.

Ferramentas para PowerShell V5

Exemplo 1: invoca uma consulta que retorna itens do DynamoDB com o especificado e o Artista. SongTitle

$invokeDDBQuery = @{ TableName = 'Music' KeyConditionExpression = ' SongTitle = :SongTitle and Artist = :Artist' ExpressionAttributeValues = @{ ':SongTitle' = 'Somewhere Down The Road' ':Artist' = 'No One You Know' } | ConvertTo-DDBItem } Invoke-DDBQuery @invokeDDBQuery | ConvertFrom-DDBItem

Saída:

Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous
  • Para ver detalhes da API, consulte Query na Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Invoke-DDBScan.

Ferramentas para PowerShell V5

Exemplo 1: exibe todos os itens da tabela Music.

Invoke-DDBScan -TableName 'Music' | ConvertFrom-DDBItem

Saída:

Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous Genre Country Artist No One You Know Price 1.98 CriticRating 8.4 SongTitle My Dog Spot AlbumTitle Hey Now

Exemplo 2: Retorna itens na tabela Música com um valor CriticRating maior ou igual a nove.

$scanFilter = @{ CriticRating = [Amazon.DynamoDBv2.Model.Condition]@{ AttributeValueList = @(@{N = '9'}) ComparisonOperator = 'GE' } } Invoke-DDBScan -TableName 'Music' -ScanFilter $scanFilter | ConvertFrom-DDBItem

Saída:

Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous
  • Para ver detalhes da API, consulte Scan na Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar New-DDBTable.

Ferramentas para PowerShell V5

Exemplo 1: Esse exemplo cria uma tabela chamada Thread que tem uma chave primária que consiste em 'ForumName' (hash do tipo de chave) e 'Assunto' (intervalo de tipos de chave). O esquema usado para construir a tabela pode ser canalizado para cada cmdlet conforme mostrado ou especificado usando o parâmetro -Schema.

$schema = New-DDBTableSchema $schema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S" $schema | Add-DDBKeySchema -KeyName "Subject" -KeyType RANGE -KeyDataType "S" $schema | New-DDBTable -TableName "Thread" -ReadCapacity 10 -WriteCapacity 5

Saída:

AttributeDefinitions : {ForumName, Subject} TableName : Thread KeySchema : {ForumName, Subject} TableStatus : CREATING CreationDateTime : 10/28/2013 4:39:49 PM ProvisionedThroughput : Amazon.DynamoDBv2.Model.ProvisionedThroughputDescription TableSizeBytes : 0 ItemCount : 0 LocalSecondaryIndexes : {}

Exemplo 2: Esse exemplo cria uma tabela chamada Thread que tem uma chave primária que consiste em 'ForumName' (hash do tipo de chave) e 'Assunto' (intervalo de tipos de chave). Um índice secundário local também é definido. A chave do índice secundário local será definida automaticamente a partir da chave de hash primária na tabela (ForumName). O esquema usado para construir a tabela pode ser canalizado para cada cmdlet conforme mostrado ou especificado usando o parâmetro -Schema.

$schema = New-DDBTableSchema $schema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S" $schema | Add-DDBKeySchema -KeyName "Subject" -KeyDataType "S" $schema | Add-DDBIndexSchema -IndexName "LastPostIndex" -RangeKeyName "LastPostDateTime" -RangeKeyDataType "S" -ProjectionType "keys_only" $schema | New-DDBTable -TableName "Thread" -ReadCapacity 10 -WriteCapacity 5

Saída:

AttributeDefinitions : {ForumName, LastPostDateTime, Subject} TableName : Thread KeySchema : {ForumName, Subject} TableStatus : CREATING CreationDateTime : 10/28/2013 4:39:49 PM ProvisionedThroughput : Amazon.DynamoDBv2.Model.ProvisionedThroughputDescription TableSizeBytes : 0 ItemCount : 0 LocalSecondaryIndexes : {LastPostIndex}

Exemplo 3: Esse exemplo mostra como usar um único pipeline para criar uma tabela chamada Thread que tem uma chave primária que consiste em 'ForumName' (hash do tipo de chave) e 'Assunto' (intervalo de tipos de chave) e um índice secundário local. Em Add-DDBKeySchema e Add-DDBIndexSchema crie um novo TableSchema objeto para você se um não for fornecido pelo pipeline ou pelo parâmetro -Schema.

New-DDBTableSchema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S" | Add-DDBKeySchema -KeyName "Subject" -KeyDataType "S" | Add-DDBIndexSchema -IndexName "LastPostIndex" ` -RangeKeyName "LastPostDateTime" ` -RangeKeyDataType "S" ` -ProjectionType "keys_only" | New-DDBTable -TableName "Thread" -ReadCapacity 10 -WriteCapacity 5

Saída:

AttributeDefinitions : {ForumName, LastPostDateTime, Subject} TableName : Thread KeySchema : {ForumName, Subject} TableStatus : CREATING CreationDateTime : 10/28/2013 4:39:49 PM ProvisionedThroughput : Amazon.DynamoDBv2.Model.ProvisionedThroughputDescription TableSizeBytes : 0 ItemCount : 0 LocalSecondaryIndexes : {LastPostIndex}
  • Para obter detalhes sobre a API, consulte CreateTable Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar New-DDBTableSchema.

Ferramentas para PowerShell V5

Exemplo 1: Cria um TableSchema objeto vazio pronto para aceitar definições de chave e índice para uso na criação de uma nova tabela do Amazon DynamoDB. O objeto retornado pode ser canalizado para os Add-DDBKeySchema New-DDBTable cmdlets Add-DDBIndexSchema e ou passado para eles usando o parâmetro -Schema em cada cmdlet.

New-DDBTableSchema

Saída:

AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {} {} {}
  • Para obter detalhes sobre a API, consulte New-DDBTableSchema Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Remove-DDBItem.

Ferramentas para PowerShell V5

Exemplo 1: remove o item do DynamoDB que corresponde à chave fornecida.

$key = @{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem Remove-DDBItem -TableName 'Music' -Key $key -Confirm:$false
  • Para obter detalhes sobre a API, consulte DeleteItem Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Remove-DDBTable.

Ferramentas para PowerShell V5

Exemplo 1: exclui a tabela especificada. A confirmação será solicitada antes que a operação continue.

Remove-DDBTable -TableName "myTable"

Exemplo 2: exclui a tabela especificada. A confirmação não será solicitada antes que a operação continue.

Remove-DDBTable -TableName "myTable" -Force
  • Para obter detalhes sobre a API, consulte DeleteTable Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Set-DDBBatchItem.

Ferramentas para PowerShell V5

Exemplo 1: cria um item ou substitui um item por um novo item nas tabelas Music e Songs do DynamoDB.

$item = @{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' AlbumTitle = 'Somewhat Famous' Price = 1.94 Genre = 'Country' CriticRating = 10.0 } | ConvertTo-DDBItem $writeRequest = New-Object Amazon.DynamoDBv2.Model.WriteRequest $writeRequest.PutRequest = [Amazon.DynamoDBv2.Model.PutRequest]$item $requestItem = @{ 'Music' = [Amazon.DynamoDBv2.Model.WriteRequest]($writeRequest) 'Songs' = [Amazon.DynamoDBv2.Model.WriteRequest]($writeRequest) } Set-DDBBatchItem -RequestItem $requestItem
  • Para obter detalhes sobre a API, consulte BatchWriteItem Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Set-DDBItem.

Ferramentas para PowerShell V5

Exemplo 1: cria um item ou substitui um item por um novo item.

$item = @{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' AlbumTitle = 'Somewhat Famous' Price = 1.94 Genre = 'Country' CriticRating = 9.0 } | ConvertTo-DDBItem Set-DDBItem -TableName 'Music' -Item $item
  • Para obter detalhes sobre a API, consulte PutItem Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Update-DDBItem.

Ferramentas para PowerShell V5

Exemplo 1: define o atributo de gênero como 'Rap' no item do DynamoDB com a chave de partição SongTitle e a chave de classificação Artist.

$key = @{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem $updateDdbItem = @{ TableName = 'Music' Key = $key UpdateExpression = 'set Genre = :val1' ExpressionAttributeValue = (@{ ':val1' = ([Amazon.DynamoDBv2.Model.AttributeValue]'Rap') }) } Update-DDBItem @updateDdbItem

Saída:

Name Value ---- ----- Genre Rap
  • Para obter detalhes sobre a API, consulte UpdateItem Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

O código de exemplo a seguir mostra como usar Update-DDBTable.

Ferramentas para PowerShell V5

Exemplo 1: atualiza os valores de throughput provisionado da tabela especificada.

Update-DDBTable -TableName "myTable" -ReadCapacity 10 -WriteCapacity 5
  • Para obter detalhes sobre a API, consulte UpdateTable Ferramentas da AWS para PowerShell Cmdlet Reference (V5).