Doc AWS SDK Examples GitHub リポジトリには、他にも SDK の例があります。 AWS
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Tools for PowerShell V4 を使用した DynamoDB の例
次のコード例は、DynamoDB で AWS Tools for PowerShell V4 を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。
トピック
アクション
次の例は、Add-DDBIndexSchema
を使用する方法を説明しています。
- PowerShell V4 のツール
-
例 1: TableSchema オブジェクトをパイプラインに書き込む前に、空の TableSchema オブジェクトを作成し、新しいローカルセカンダリインデックス定義を追加します。
$schema | Add-DDBIndexSchema -IndexName "LastPostIndex" -RangeKeyName "LastPostDateTime" -RangeKeyDataType "S" -ProjectionType "keys_only" $schema = New-DDBTableSchema
出力:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {LastPostDateTime} {} {LastPostIndex}
例 2: TableSchema オブジェクトをパイプラインに書き戻す前に、指定された TableSchema オブジェクトに新しいローカルセカンダリインデックス定義を追加します。TableSchema オブジェクトは、-Schema パラメータを使用して指定することもできます。
New-DDBTableSchema | Add-DDBIndexSchema -IndexName "LastPostIndex" -RangeKeyName "LastPostDateTime" -RangeKeyDataType "S" -ProjectionType "keys_only"
出力:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {LastPostDateTime} {} {LastPostIndex}
-
API の詳細については、「 コマンドレットリファレンス (V4)」の「Add-DDBIndexSchema」を参照してください。 AWS Tools for PowerShell
-
次の例は、Add-DDBKeySchema
を使用する方法を説明しています。
- PowerShell V4 のツール
-
例 1: TableSchema オブジェクトをパイプラインに書き込む前に、空の TableSchema オブジェクトを作成し、指定されたキーデータを使用してキーおよび属性定義エントリを追加します。キータイプはデフォルトで「HASH」と宣言されます。範囲キーを宣言するには、値「RANGE」の -KeyType パラメータを使用します。
$schema = New-DDBTableSchema $schema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S"
出力:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {ForumName} {ForumName} {}
例 2: TableSchema オブジェクトをパイプラインに書き込む前に、指定された TableSchema オブジェクトに新しいキーと属性定義エントリを追加します。キータイプはデフォルトで「HASH」と宣言されます。範囲キーを宣言するには、値「RANGE」の -KeyType パラメータを使用します。TableSchema オブジェクトは、-Schema パラメータを使用して指定することもできます。
New-DDBTableSchema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S"
出力:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {ForumName} {ForumName} {}
-
API の詳細については、「 コマンドレットリファレンス (V4)」の「Add-DDBKeySchema」を参照してください。 AWS Tools for PowerShell
-
次の例は、ConvertFrom-DDBItem
を使用する方法を説明しています。
- PowerShell V4 のツール
-
例 1: ConvertFrom-DDBItem はGet-DDBItem の結果を DynamoDB AttributeValues のハッシュテーブルから string や double などの一般的なタイプのハッシュテーブルに変換するために使用されます。
@{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem Get-DDBItem -TableName 'Music' -Key $key | ConvertFrom-DDBItem
出力:
Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous
-
API の詳細については、「 コマンドレットリファレンス (V4)」のConvertFrom-DDBItem」を参照してください。 AWS Tools for PowerShell
-
次の例は、ConvertTo-DDBItem
を使用する方法を説明しています。
- PowerShell V4 のツール
-
例 1: ハッシュテーブルを 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
例 2: ハッシュテーブルを 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
出力:
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
-
API の詳細については、「 コマンドレットリファレンス (V4)」のConvertTo-DDBItem」を参照してください。 AWS Tools for PowerShell
-
次の例は、Get-DDBBatchItem
を使用する方法を説明しています。
- PowerShell V4 のツール
-
例 1: DynamoDB テーブル「Music」および「Songs」から「Somewhere Down The Road」という SongTitle の項目を取得します。
$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
出力:
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
-
API の詳細については、「 コマンドレットリファレンス (V4)」のBatchGetItem」を参照してください。 AWS Tools for PowerShell
-
次の例は、Get-DDBItem
を使用する方法を説明しています。
- PowerShell V4 のツール
-
例 1: パーティションキー SongTitle とソートキー Artist を含む DynamoDB 項目を返します。
$key = @{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem Get-DDBItem -TableName 'Music' -Key $key | ConvertFrom-DDBItem
出力:
Name Value ---- ----- Genre Country SongTitle Somewhere Down The Road Price 1.94 Artist No One You Know CriticRating 9 AlbumTitle Somewhat Famous
-
API の詳細については、「 コマンドレットリファレンス (V4)」のGetItem」を参照してください。 AWS Tools for PowerShell
-
次の例は、Get-DDBTable
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: 指定されたテーブルの詳細を返します。
Get-DDBTable -TableName "myTable"
-
API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンス (V4)」のDescribeTable」を参照してください。
-
次の例は、Get-DDBTableList
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: すべてのテーブルの詳細を返し、サービスが他にテーブルがないことを知らせるまで自動で繰り返します。
Get-DDBTableList
-
API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンス (V4)」のListTables」を参照してください。
-
次の例は、Invoke-DDBQuery
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: 指定された SongTitle と Artist を含む DynamoDB 項目を返すクエリを呼び出します。
$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
出力:
Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous
-
API の詳細については、「 コマンドレットリファレンス (V4) のhttps://docs.aws.amazon.com/powershell/v4/reference」を参照してください。 AWS Tools for PowerShell
-
次の例は、Invoke-DDBScan
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: Music テーブルのすべての項目を返します。
Invoke-DDBScan -TableName 'Music' | ConvertFrom-DDBItem
出力:
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
例 2: Music テーブル内の CriticRating が 9 以上の項目を返します。
$scanFilter = @{ CriticRating = [Amazon.DynamoDBv2.Model.Condition]@{ AttributeValueList = @(@{N = '9'}) ComparisonOperator = 'GE' } } Invoke-DDBScan -TableName 'Music' -ScanFilter $scanFilter | ConvertFrom-DDBItem
出力:
Name Value ---- ----- Genre Country Artist No One You Know Price 1.94 CriticRating 9 SongTitle Somewhere Down The Road AlbumTitle Somewhat Famous
-
API の詳細については、「 コマンドレットリファレンス (V4) のhttps://docs.aws.amazon.com/powershell/v4/reference」を参照してください。 AWS Tools for PowerShell
-
次の例は、New-DDBTable
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: この例では、「ForumName」(キータイプハッシュ) と「Subject」(キータイプ範囲) で構成されるプライマリキーを持つ「Thread」という名前のテーブルを作成します。テーブルの作成に使用したスキーマは、図のように各 cmdlet にパイプ処理するか、-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
出力:
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 : {}
例 2: この例では、「ForumName」(キータイプハッシュ) と「Subject」(キータイプ範囲) で構成されるプライマリキーを持つ Thread という名前のテーブルを作成します。ローカルセカンダリインデックスも定義されます。ローカルセカンダリインデックスのキーは、テーブルのプライマリハッシュキー (ForumName) から自動的に設定されます。テーブルの作成に使用したスキーマは、図のように各 cmdlet にパイプ処理するか、-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
出力:
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}
例 3: この例では、単一のパイプラインを使用して、「ForumName」(キータイプハッシュ) と「Subject」(キータイプ範囲) で構成されるプライマリキー、およびローカルセカンダリインデックスを持つ「Thread」という名前のテーブルを作成する方法を示します。TableSchema がパイプラインまたは -Schema パラメータから提供されない場合、Add-DDBKeySchema と Add-DDBIndexSchema によって新しい TableSchema オブジェクトが作成されます。
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
出力:
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}
-
API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンス (V4)」のCreateTable」を参照してください。
-
次の例は、New-DDBTableSchema
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: 新しい Amazon DynamoDB テーブルの作成に使用するキーとインデックスの定義を受け入れる準備ができている空の TableSchema オブジェクトを作成します。返されたオブジェクトは、Add-DDBKeySchema、Add-DDBIndexSchema、New-DDBTable コマンドレットにパイプするか、各コマンドレットの -Schema パラメータを使用して渡すことができます。
New-DDBTableSchema
出力:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {} {} {}
-
API の詳細については、「 コマンドレットリファレンス (V4)」の「New-DDBTableSchema」を参照してください。 AWS Tools for PowerShell
-
次の例は、Remove-DDBItem
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: 指定されたキーと一致する DynamoDB 項目を削除します。
$key = @{ SongTitle = 'Somewhere Down The Road' Artist = 'No One You Know' } | ConvertTo-DDBItem Remove-DDBItem -TableName 'Music' -Key $key -Confirm:$false
-
API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンス (V4)」のDeleteItem」を参照してください。
-
次の例は、Remove-DDBTable
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: 指定されたテーブルを削除します。操作を続行する前に確認画面が表示されます。
Remove-DDBTable -TableName "myTable"
例 2: 指定されたテーブルを削除します。操作を続行する前に確認画面は表示されません。
Remove-DDBTable -TableName "myTable" -Force
-
API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンス (V4)」のDeleteTable」を参照してください。
-
次の例は、Set-DDBBatchItem
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: 新しい項目を作成する、または既存の項目を「Music 」DynamoDB テーブルおよび「Songs」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
-
API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンス (V4)」のBatchWriteItem」を参照してください。
-
次の例は、Set-DDBItem
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: 新しい項目を作成する、または既存の項目を新しい項目で置き換えます。
$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
-
API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンス (V4)」のPutItem」を参照してください。
-
次の例は、Update-DDBItem
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: パーティションキー SongTitle とソートキー Artist を含む DynamoDB 項目のジャンル属性を「Rap」に設定します。
$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
出力:
Name Value ---- ----- Genre Rap
-
API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンス (V4)」のUpdateItem」を参照してください。
-
次の例は、Update-DDBTable
を使用する方法を説明しています。
- PowerShell V4 用のツール
-
例 1: 指定されたテーブルのプロビジョンされたスループットを更新します。
Update-DDBTable -TableName "myTable" -ReadCapacity 10 -WriteCapacity 5
-
API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンス (V4)」のUpdateTable」を参照してください。
-