AWS Doc SDK ExamplesWord
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Tools for PowerShell를 사용한 DynamoDB 예제
다음 코드 예제에서는 DynamoDB AWS Tools for PowerShell 와 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.
각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.
주제
작업
다음 코드 예시에서는 Add-DDBIndexSchema
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예제 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 객체에 추가합니다. -Schema 파라미터를 사용하여 TableSchema 객체를 제공할 수도 있습니다.
New-DDBTableSchema | Add-DDBIndexSchema -IndexName "LastPostIndex" -RangeKeyName "LastPostDateTime" -RangeKeyDataType "S" -ProjectionType "keys_only"
출력:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {LastPostDateTime} {} {LastPostIndex}
-
API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 Add-DDBIndexSchema를 참조하세요.
-
다음 코드 예시에서는 Add-DDBKeySchema
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 1: empty TableSchema 객체를 생성하고 파이프라인에 TableSchema 객체를 쓰기 전에 지정된 키 데이터를 사용하여 키 및 속성 정의 항목을 추가합니다. 키 유형은 기본적으로 'HASH'로 선언됩니다. 값이 'KeyType '인 -RANGE paameter를 사용하여 범위 키를 선언합니다.
$schema = New-DDBTableSchema $schema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S"
출력:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {ForumName} {ForumName} {}
예제 2: 파이프라인에 워드 객체를 쓰기 전에 새 키 및 속성 정의 항목을 TableSchema TableSchema 객체에 추가합니다. 키 유형은 기본적으로 'HASH'로 선언됩니다. 값이 'KeyType '인 -RANGE paameter를 사용하여 범위 키를 선언합니다. -Schema 파라미터를 사용하여 TableSchema 객체를 제공할 수도 있습니다.
New-DDBTableSchema | Add-DDBKeySchema -KeyName "ForumName" -KeyDataType "S"
출력:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {ForumName} {ForumName} {}
-
API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 Add-DDBKeySchema를 참조하세요.
-
다음 코드 예시에서는 ConvertFrom-DDBItem
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예제 1: ConvertFrom-DDBItem는 Get-DDBItem의 결과를 DynamoDB AttributeValues Word의 해시테이블에서 문자열 및 이중과 같은 일반적인 유형의 해시테이블로 변환하는 데 사용됩니다.
@{ 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 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 ConvertFrom-DDBItem를 참조하세요.
-
다음 코드 예시에서는 ConvertTo-DDBItem
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예제 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 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 ConvertTo-DDBItem를 참조하세요.
-
다음 코드 예시에서는 Get-DDBBatchItem
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 1: DynamoDB 테이블 '음악' 및 '곡'에서 SongTitle 'Somewhere Down The Road'로 항목을 가져옵니다.
$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 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 BatchGetItem를 참조하세요.
-
다음 코드 예시에서는 Get-DDBItem
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 1: 파티션 key SongTitle 및 정렬 키 아티스트와 함께 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 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 GetItem를 참조하세요.
-
다음 코드 예시에서는 Get-DDBTable
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 1: 지정된 테이블의 세부 정보를 반환합니다.
Get-DDBTable -TableName "myTable"
-
API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 DescribeTable를 참조하세요.
-
다음 코드 예시에서는 Get-DDBTableList
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 1: 서비스에 더 이상 테이블이 없다고 표시될 때까지 자동으로 반복하여 모든 테이블의 세부 정보를 반환합니다.
Get-DDBTableList
-
API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 ListTables를 참조하세요.
-
다음 코드 예시에서는 Invoke-DDBQuery
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예제 1: 지정된 SongTitle 및 아티스트와 함께 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 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 쿼리를 참조하세요.
-
다음 코드 예시에서는 Invoke-DDBScan
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 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: a 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 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 스캔을 참조하세요.
-
다음 코드 예시에서는 New-DDBTable
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예제 1:이 예제에서는 'ForumName'(키 유형 해시) 및 'Subject'(키 유형 범위)로 구성된 기본 키가 있는 Thread라는 테이블을 생성합니다. 테이블을 구성하는 데 사용되는 스키마는 표시된 대로 또는 -Schema 파라미터를 사용하여 지정한 대로 각 cmdlet에 파이프로 연결할 수 있습니다.
$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)의 기본 해시 키에서 자동으로 설정됩니다. 테이블을 구성하는 데 사용되는 스키마는 표시된 대로 또는 -Schema 파라미터를 사용하여 지정한 대로 각 cmdlet에 파이프로 연결할 수 있습니다.
$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라는 테이블을 생성하는 방법을 보여줍니다. Add-DDBKeySchema 및 Add-DDBIndexSchema는 파이프라인 또는 -Schema 파라미터에서 제공되지 않은 New 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 Cmdlet 참조의 CreateTable를 참조하세요.
-
다음 코드 예시에서는 New-DDBTableSchema
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예제 1: 새 Amazon DynamoDB 테이블을 생성하는 데 사용할 키 및 인덱스 정의를 수락할 준비가 된 empty TableSchema 객체를 생성합니다. 반환된 객체는 각 cmdlet의 -Schema 파라미터를 사용하여 Add-DDBKeySchema, Add-DDBIndexSchema 및 New-DDBTable cmdlet에 파이프로 연결하거나 전달할 수 있습니다.
New-DDBTableSchema
출력:
AttributeSchema KeySchema LocalSecondaryIndexSchema --------------- --------- ------------------------- {} {} {}
-
API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 New-DDBTableSchema를 참조하세요.
-
다음 코드 예시에서는 Remove-DDBItem
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 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 Cmdlet 참조의 DeleteItem를 참조하세요.
-
다음 코드 예시에서는 Remove-DDBTable
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 1: 지정된 테이블을 삭제합니다. 작업이 진행되기 전에 확인 메시지가 표시됩니다.
Remove-DDBTable -TableName "myTable"
예 2: 지정된 테이블을 삭제합니다. 작업이 진행되기 전에 확인 메시지가 표시되지 않습니다.
Remove-DDBTable -TableName "myTable" -Force
-
API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 DeleteTable를 참조하세요.
-
다음 코드 예시에서는 Set-DDBBatchItem
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 1: 새 항목을 생성하거나, DynamoDB 테이블 Music 및 Songs의 새 항목으로 기존 항목을 바꿉니다.
$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 Cmdlet 참조의 BatchWriteItem를 참조하세요.
-
다음 코드 예시에서는 Set-DDBItem
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 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 Cmdlet 참조의 PutItem를 참조하세요.
-
다음 코드 예시에서는 Update-DDBItem
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 1: DynamoDB 항목의 장르 속성을 파티션 key SongTitle 및 정렬 키 Artist를 사용하여 '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 Cmdlet 참조의 UpdateItem를 참조하세요.
-
다음 코드 예시에서는 Update-DDBTable
을 사용하는 방법을 보여 줍니다.
- for PowerShell 도구
-
예 1: 주어진 테이블의 프로비저닝된 처리량을 업데이트합니다.
Update-DDBTable -TableName "myTable" -ReadCapacity 10 -WriteCapacity 5
-
API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조의 UpdateTable를 참조하세요.
-