Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplos de DynamoDB con herramientas para PowerShell
Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante DynamoDB. AWS Tools for PowerShell
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 funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.
Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.
Temas
Acciones
En el siguiente ejemplo de código se muestra cómo usar Add-DDBIndexSchema
.
- Herramientas para PowerShell
-
Ejemplo 1: crea un TableSchema objeto vacío y le añade una nueva definición de índice secundario local antes de escribir el TableSchema objeto en la canalización.
$schema | Add-DDBIndexSchema -IndexName "LastPostIndex" -RangeKeyName "LastPostDateTime" -RangeKeyDataType "S" -ProjectionType "keys_only" $schema = New-DDBTableSchema
Salida:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {LastPostDateTime} {} {LastPostIndex}
Ejemplo 2: añade una nueva definición de índice secundario local al TableSchema objeto suministrado antes de volver a escribir el TableSchema objeto en la canalización. El TableSchema objeto también se puede proporcionar mediante el parámetro -Scheme.
New-DDBTableSchema | Add-DDBIndexSchema -IndexName "LastPostIndex" -RangeKeyName "LastPostDateTime" -RangeKeyDataType "S" -ProjectionType "keys_only"
Salida:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {LastPostDateTime} {} {LastPostIndex}
-
Para API obtener más información, consulte la referencia del AWS Tools for PowerShell cmdlet Add- DDBIndexSchema in.
-
En el siguiente ejemplo de código se muestra cómo usar Add-DDBKeySchema
.
- Herramientas para PowerShell
-
Ejemplo 1: crea un TableSchema objeto vacío y le añade entradas de definición de claves y atributos utilizando los datos clave especificados antes de escribir el TableSchema objeto en la canalización. El tipo de clave se declara como 'HASH' de forma predeterminada; utilice el KeyType parámetro - 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: añade nuevas entradas de definición de atributos y claves al TableSchema objeto suministrado antes de escribir el TableSchema objeto en la canalización. El tipo de clave se declara como 'HASH' de forma predeterminada; utilice el KeyType parámetro - con el valor 'RANGE' para declarar una clave de rango. El TableSchema objeto también se puede proporcionar mediante el parámetro -Scheme.
New-DDBTableSchema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S"
Salida:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {ForumName} {ForumName} {}
-
Para API obtener más información, consulte la referencia del AWS Tools for PowerShell cmdlet Add- DDBKeySchema in.
-
En el siguiente ejemplo de código se muestra cómo usar ConvertFrom-DDBItem
.
- Herramientas para PowerShell
-
Ejemplo 1: ConvertFrom - DDBItem se usa para convertir el resultado de Get- DDBItem de una tabla hash de AttributeValues DynamoDB a 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-DDBItem
Salida:
Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous
-
Para API obtener más información, consulte ConvertFrom- DDBItem en Cmdlet Reference.AWS Tools for PowerShell
-
En el siguiente ejemplo de código se muestra cómo usar ConvertTo-DDBItem
.
- Herramientas para PowerShell
-
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.AttributeValue
Ejemplo 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-DDBItem
Salida:
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 API obtener más información, consulte ConvertTo- DDBItem en AWS Tools for PowerShell Cmdlet Reference.
-
En el siguiente ejemplo de código se muestra cómo usar Get-DDBBatchItem
.
- Herramientas para PowerShell
-
Ejemplo 1: Obtiene el elemento 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-DDBItem
Salida:
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 API más información, consulte BatchGetItemCmdlet Reference.AWS Tools for PowerShell
-
En el siguiente ejemplo de código se muestra cómo usar Get-DDBItem
.
- Herramientas para PowerShell
-
Ejemplo 1: devuelve el elemento de DynamoDB con la clave de partición y la SongTitle 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-DDBItem
Salida:
Name Value ---- ----- Genre Country SongTitle Somewhere Down The Road Price 1.94 Artist No One You Know CriticRating 9 AlbumTitle Somewhat Famous
-
Para API obtener más información, consulte AWS Tools for PowerShell Cmdlet GetItemReference.
-
En el siguiente ejemplo de código se muestra cómo usar Get-DDBTable
.
- Herramientas para PowerShell
-
Ejemplo 1: devuelve información detallada de la tabla especificada.
Get-DDBTable -TableName "myTable"
-
Para API obtener más información, consulte DescribeTablela referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Get-DDBTableList
.
- Herramientas para PowerShell
-
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 API obtener más información, consulte ListTablesla referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Invoke-DDBQuery
.
- Herramientas para PowerShell
-
Ejemplo 1: Invoca una consulta que devuelve elementos de DynamoDB con el identificador y el artista especificados. 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
Salida:
Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous
-
Para API obtener más información, consulte Query in AWS Tools for PowerShell Cmdlet Reference.
-
En el siguiente ejemplo de código se muestra cómo usar Invoke-DDBScan
.
- Herramientas para PowerShell
-
Ejemplo 1: devuelve todos los elementos de la tabla Music.
Invoke-DDBScan -TableName 'Music' | ConvertFrom-DDBItem
Salida:
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
Ejemplo 2: Devuelve los elementos de la tabla Música con un valor CriticRating mayor o igual a nueve.
$scanFilter = @{ CriticRating = [Amazon.DynamoDBv2.Model.Condition]@{ AttributeValueList = @(@{N = '9'}) ComparisonOperator = 'GE' } } Invoke-DDBScan -TableName 'Music' -ScanFilter $scanFilter | ConvertFrom-DDBItem
Salida:
Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous
-
Para API obtener más información, consulte la referencia del AWS Tools for PowerShell cmdlet Scan in.
-
En el siguiente ejemplo de código se muestra cómo usar New-DDBTable
.
- Herramientas para PowerShell
-
Ejemplo 1: En este ejemplo se crea una tabla denominada Thread que tiene una clave principal compuesta por «ForumName» (tipo hash 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 5
Salida:
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» (tipo hash de clave) y «Asunto» (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 5
Salida:
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 utilizar una canalización única para crear una tabla denominada Thread que tenga una clave principal compuesta por «ForumName» (hash de tipo de clave) y «Asunto» (rango de tipos de clave) y un índice secundario local. Los comandos Add- DDBKeySchema y Add- DDBIndexSchema crean un TableSchema objeto nuevo si no lo proporcionan la canalización o el parámetro -Scheme.
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
Salida:
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 API obtener más información, consulte la referencia CreateTabledel AWS Tools for PowerShell cmdlet.
-
En el siguiente ejemplo de código se muestra cómo usar New-DDBTableSchema
.
- Herramientas para PowerShell
-
Ejemplo 1: crea un TableSchema objeto 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 canalizarse a los DDBTable cmdlets Add-DDBKeySchema, Add- DDBIndexSchema y New- o pasarse a ellos mediante el parámetro -Scheme de cada cmdlet.
New-DDBTableSchema
Salida:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {} {} {}
En el siguiente ejemplo de código se muestra cómo usar Remove-DDBItem
.
- Herramientas para PowerShell
-
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 API obtener más información, consulte DeleteItemla referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Remove-DDBTable
.
- Herramientas para PowerShell
-
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 API obtener más información, consulte DeleteTablela referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Set-DDBBatchItem
.
- Herramientas para PowerShell
-
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]$item
Salida:
$requestItem = @{ 'Music' = [Amazon.DynamoDBv2.Model.WriteRequest]($writeRequest) 'Songs' = [Amazon.DynamoDBv2.Model.WriteRequest]($writeRequest) } Set-DDBBatchItem -RequestItem $requestItem
-
Para API obtener más información, consulte BatchWriteItemla referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Set-DDBItem
.
- Herramientas para PowerShell
-
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 API obtener más información, consulte PutItemla referencia de AWS Tools for PowerShell cmdlets.
-
En el siguiente ejemplo de código se muestra cómo usar Update-DDBItem
.
- Herramientas para PowerShell
-
Ejemplo 1: Establece el atributo de género en «Rap» en el elemento de DynamoDB con la clave de partición y la SongTitle 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 @updateDdbItem
Salida:
Name Value ---- ----- Genre Rap
-
Para API obtener más información, consulte AWS Tools for PowerShell Cmdlet UpdateItemReference.
-
En el siguiente ejemplo de código se muestra cómo usar Update-DDBTable
.
- Herramientas para PowerShell
-
Ejemplo 1: actualiza el rendimiento aprovisionado de la tabla en cuestión.
Update-DDBTable -TableName "myTable" -ReadCapacity 10 -WriteCapacity 5
-
Para API obtener más información, consulte UpdateTablela referencia de AWS Tools for PowerShell cmdlets.
-