Se ha publicado la versión 5 (V5) de Herramientas de AWS para PowerShell.
Para empezar a utilizar la nueva versión de Tools para PowerShell, consulte la Guía del usuario de Herramientas de AWS para PowerShell (V5), especialmente el tema sobre la Migración a la V5.
Ejemplos de DynamoDB con las Herramientas para PowerShell V4
En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando Herramientas de AWS para PowerShell V4 con DynamoDB.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar Add-DDBIndexSchema.
- Herramientas para PowerShell V4
-
Ejemplo 1: Se crea un objeto TableSchema vacío y se le añade una nueva definición de índice secundario local antes de escribir el objeto TableSchema en la canalización.
$schema | Add-DDBIndexSchema -IndexName "LastPostIndex" -RangeKeyName "LastPostDateTime" -RangeKeyDataType "S" -ProjectionType "keys_only" $schema = New-DDBTableSchemaSalida:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {LastPostDateTime} {} {LastPostIndex}Ejemplo 2: Se añade una nueva definición de índice secundario local al objeto TableSchema proporcionado antes de volver a escribir el objeto TableSchema en la canalización. El objeto TableSchema también se puede proporcionar mediante el parámetro -Schema.
New-DDBTableSchema | Add-DDBIndexSchema -IndexName "LastPostIndex" -RangeKeyName "LastPostDateTime" -RangeKeyDataType "S" -ProjectionType "keys_only"Salida:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {LastPostDateTime} {} {LastPostIndex}-
Para obtener información sobre la API, consulte Add-DDBIndexSchema en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Add-DDBKeySchema.
- Herramientas para PowerShell V4
-
Ejemplo 1: Se crea un objeto TableSchema vacío y se le añaden entradas de definición de claves y atributos mediante los datos de clave especificados antes de escribir el objeto TableSchema en la canalización. El tipo de clave se declara como “HASH” de forma predeterminada; utilice el parámetro -KeyType con el valor “RANGE” para declarar una clave de rango.
$schema = New-DDBTableSchema $schema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S"Salida:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {ForumName} {ForumName} {}Ejemplo 2: Se añaden nuevas entradas de definición de claves y atributos al objeto TableSchema proporcionado antes de escribir el objeto TableSchema en la canalización. El tipo de clave se declara como “HASH” de forma predeterminada; utilice el parámetro -KeyType con el valor “RANGE” para declarar una clave de rango. El objeto TableSchema también se puede proporcionar mediante el parámetro -Schema.
New-DDBTableSchema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S"Salida:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {ForumName} {ForumName} {}-
Para obtener información sobre la API, consulte Add-DDBKeySchema en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar ConvertFrom-DDBItem.
- Herramientas para PowerShell V4
-
Ejemplo 1: ConvertFrom-DDBItem se utiliza para convertir el resultado de Get-DDBItem de una tabla hash de AttributeValues de DynamoDB en una tabla hash de tipos comunes, como “string” y “double”.
@{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem Get-DDBItem -TableName 'Music' -Key $key | ConvertFrom-DDBItemSalida:
Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous-
Para obtener información sobre la API, consulte ConvertFrom-DDBItem en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar ConvertTo-DDBItem.
- Herramientas para PowerShell V4
-
Ejemplo 1: Ejemplo de conversión de una tabla hash en un diccionario de valores de atributos de DynamoDB.
@{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem Key Value --- ----- SongTitle Amazon.DynamoDBv2.Model.AttributeValue Artist Amazon.DynamoDBv2.Model.AttributeValueEjemplo 2: Ejemplo de conversión de una tabla hash en un diccionario de valores de atributos de 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-DDBItemSalida:
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 obtener información sobre la API, consulte ConvertTo-DDBItem en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-DDBBatchItem.
- Herramientas para PowerShell V4
-
Ejemplo 1: obtiene el elemento con el SongTitle «Somewhere Down The Road» de las tablas «Music» y «Songs» de 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-DDBItemSalida:
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 obtener detalles de la API, consulte BatchGetItem en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-DDBItem.
- Herramientas para PowerShell V4
-
Ejemplo 1: devuelve el elemento de DynamoDB con la clave de partición SongTitle y la clave de clasificación Artist.
$key = @{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem Get-DDBItem -TableName 'Music' -Key $key | ConvertFrom-DDBItemSalida:
Name Value ---- ----- Genre Country SongTitle Somewhere Down The Road Price 1.94 Artist No One You Know CriticRating 9 AlbumTitle Somewhat Famous-
Para obtener detalles de la API, consulte GetItem en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-DDBTable.
- Herramientas para PowerShell V4
-
Ejemplo 1: devuelve información detallada de la tabla especificada.
Get-DDBTable -TableName "myTable"-
Para obtener detalles de la API, consulte DescribeTable en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-DDBTableList.
- Herramientas para PowerShell V4
-
Ejemplo 1: devuelve los detalles de todas las tablas y se itera automáticamente hasta que el servicio indique que no existen más tablas.
Get-DDBTableList-
Para obtener detalles de la API, consulte ListTables en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Invoke-DDBQuery.
- Herramientas para PowerShell V4
-
Ejemplo 1: invoca una consulta que devuelve elementos de DynamoDB con los valores de SongTitle y Artist especificados.
$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-DDBItemSalida:
Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous-
Para obtener detalles de la API, consulte Query en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Invoke-DDBScan.
- Herramientas para PowerShell V4
-
Ejemplo 1: devuelve todos los elementos de la tabla Music.
Invoke-DDBScan -TableName 'Music' | ConvertFrom-DDBItemSalida:
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 NowEjemplo 2: devuelve los elementos de la tabla Music con un CriticRating superior o igual a nueve.
$scanFilter = @{ CriticRating = [Amazon.DynamoDBv2.Model.Condition]@{ AttributeValueList = @(@{N = '9'}) ComparisonOperator = 'GE' } } Invoke-DDBScan -TableName 'Music' -ScanFilter $scanFilter | ConvertFrom-DDBItemSalida:
Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous-
Para obtener detalles de la API, consulte Scan en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar New-DDBTable.
- Herramientas para PowerShell V4
-
Ejemplo 1: en este ejemplo se crea una tabla denominada Thread que tiene una clave principal compuesta por ForumName (hash de tipos de clave) y Subject (rango de tipos de clave). El esquema utilizado para construir la tabla se puede canalizar hacia cada cmdlet tal como se muestra o se especifica con el 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 5Salida:
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 : {}Ejemplo 2: en este ejemplo se crea una tabla denominada Thread que tiene una clave principal compuesta por ForumName (hash de tipo clave) y Subject (rango de tipos de clave). También se define un índice secundario local. La clave del índice secundario local se establecerá automáticamente a partir de la clave hash principal de la tabla (ForumName). El esquema utilizado para construir la tabla se puede canalizar hacia cada cmdlet tal como se muestra o se especifica con el 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 5Salida:
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}Ejemplo 3: en este ejemplo se muestra cómo usar una sola canalización para crear una tabla denominada Thread que tiene una clave principal compuesta por ForumName (hash de tipo clave) y Subject (rango de tipos de clave), además de un índice secundario local. Add-DDBKeySchema y Add-DDBIndexSchema crean un nuevo objeto TableSchema para usted si no se proporciona ninguno desde la canalización o el 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 5Salida:
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 obtener detalles de la API, consulte CreateTable en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar New-DDBTableSchema.
- Herramientas para PowerShell V4
-
Ejemplo 1: Se crea un objeto TableSchema vacío listo para aceptar definiciones de claves e índices para su uso en la creación de una nueva tabla de Amazon DynamoDB. El objeto devuelto puede enviarse a los cmdlets Add-DDBKeySchema, Add-DDBIndexSchema y New-DDBTable o pasarse a ellos mediante el parámetro -Schema en cada cmdlet.
New-DDBTableSchemaSalida:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {} {} {}-
Para obtener información sobre la API, consulte New-DDBTableSchema en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-DDBItem.
- Herramientas para PowerShell V4
-
Ejemplo 1: elimina el elemento DynamoDB que coincide con la clave proporcionada.
$key = @{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem Remove-DDBItem -TableName 'Music' -Key $key -Confirm:$false-
Para obtener detalles de la API, consulte DeleteItem en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-DDBTable.
- Herramientas para PowerShell V4
-
Ejemplo 1: elimina la tabla especificada. Se le solicitará una confirmación antes de continuar con la operación.
Remove-DDBTable -TableName "myTable"Ejemplo 2: elimina la tabla especificada. No se le solicitará una confirmación antes de continuar con la operación.
Remove-DDBTable -TableName "myTable" -Force-
Para obtener detalles de la API, consulte DeleteTable en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Set-DDBBatchItem.
- Herramientas para PowerShell V4
-
Ejemplo 1: crea un nuevo elemento o sustituye un elemento existente por uno nuevo en las tablas Music y Songs de 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]$itemSalida:
$requestItem = @{ 'Music' = [Amazon.DynamoDBv2.Model.WriteRequest]($writeRequest) 'Songs' = [Amazon.DynamoDBv2.Model.WriteRequest]($writeRequest) } Set-DDBBatchItem -RequestItem $requestItem-
Para obtener detalles de la API, consulte BatchWriteItem en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Set-DDBItem.
- Herramientas para PowerShell V4
-
Ejemplo 1: crea un nuevo elemento o sustituye un elemento existente por uno nuevo.
$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 obtener detalles de la API, consulte PutItem en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Update-DDBItem.
- Herramientas para PowerShell V4
-
Ejemplo 1: establece el atributo de género como Rap en el elemento de DynamoDB con la clave de partición SongTitle y la clave de clasificación 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 @updateDdbItemSalida:
Name Value ---- ----- Genre Rap-
Para obtener detalles de la API, consulte UpdateItem en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Update-DDBTable.
- Herramientas para PowerShell V4
-
Ejemplo 1: actualiza el rendimiento aprovisionado de la tabla en cuestión.
Update-DDBTable -TableName "myTable" -ReadCapacity 10 -WriteCapacity 5-
Para obtener detalles de la API, consulte UpdateTable en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).
-