Skip to content

Commit 2c00644

Browse files
committed
Implemented S3 Object Cmdlets and fixed AWS V2 Signature
1 parent 4242992 commit 2c00644

3 files changed

Lines changed: 526 additions & 106 deletions

File tree

StorageGRID-Webscale-Tutorial.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,4 +128,53 @@ $Topology = Get-SGWTopologyHealth
128128
$Sites = $Topology.children
129129
$Site = $Sites[0]
130130
Get-SGWReport -Attribute 'S3 Ingest - Rate (XSIR) [MB/s]' -OID $Site.oid
131+
```
132+
133+
# S3 Operations
134+
135+
136+
137+
## Creating AWS Signatures
138+
139+
### Version 4
140+
141+
```powershell
142+
$DebugPreference = "Continue"
143+
# Example from http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
144+
New-AwsSignatureV4 -AccessKey "test" -SecretAccessKey "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" -EndpointUrl "iam.amazonaws.com" -HTTPRequestMethod GET -Uri '/' -Query @{Action="ListUsers";Version="2010-05-08"} -ContentType "application/x-www-form-urlencoded; charset=utf-8" -DateTime "20150830T123600Z" -DateString "20150830" -Service "iam"
145+
$DebugPreference = "SilentlyContinue"
146+
```powershell
147+
148+
### Version 2
149+
150+
```powershell
151+
$DebugPreference = "Continue"
152+
# Examples from https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
153+
$AccessKey = "AKIAIOSFODNN7EXAMPLE"
154+
$SecretAccessKey = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
155+
# Object GET
156+
$Signature = New-AwsSignatureV2 -AccessKey $AccessKey -SecretAccessKey $SecretAccessKey -EndpointUrl "johnsmith.s3.amazonaws.com" -HTTPRequestMethod "GET" -DateTime "Tue, 27 Mar 2007 19:36:42 +0000" -Bucket "johnsmith" -Uri "/photos/puppy.jpg"
157+
$Signature -eq "bWq2s1WEIj+Ydj0vQ697zp+IXMU="
158+
# Object GET
159+
$Signature = New-AwsSignatureV2 -AccessKey $AccessKey -SecretAccessKey $SecretAccessKey -EndpointUrl "johnsmith.s3.amazonaws.com" -HTTPRequestMethod "PUT" -DateTime "Tue, 27 Mar 2007 21:15:45 +0000" -Bucket "johnsmith" -Uri "/photos/puppy.jpg" -ContentType "image/jpeg"
160+
$Signature -eq "MyyxeRY7whkBe+bq8fHCL/2kKUg="
161+
# List
162+
$Signature = New-AwsSignatureV2 -AccessKey $AccessKey -SecretAccessKey $SecretAccessKey -EndpointUrl "johnsmith.s3.amazonaws.com" -HTTPRequestMethod "GET" -DateTime "Tue, 27 Mar 2007 19:42:41 +0000" -Bucket "johnsmith"
163+
$Signature -eq "htDYFYduRNen8P9ZfE/s9SuKy0U="
164+
# Fetch
165+
$Signature = New-AwsSignatureV2 -AccessKey $AccessKey -SecretAccessKey $SecretAccessKey -EndpointUrl "johnsmith.s3.amazonaws.com" -HTTPRequestMethod "GET" -DateTime "Tue, 27 Mar 2007 19:44:46 +0000" -Bucket "johnsmith" -QueryString "?acl"
166+
$Signature -eq "c2WLPFtWHVgbEmeEG93a4cG37dM="
167+
# Delete
168+
$Signature = New-AwsSignatureV2 -AccessKey $AccessKey -SecretAccessKey $SecretAccessKey -EndpointUrl "s3.amazonaws.com" -HTTPRequestMethod "DELETE" -DateTime "Tue, 27 Mar 2007 21:20:26 +0000" -Bucket "johnsmith" -Uri "/johnsmith/photos/puppy.jpg"
169+
$Signature -eq "$Signature -eq "
170+
# Upload
171+
$Signature = New-AwsSignatureV2 -AccessKey $AccessKey -SecretAccessKey $SecretAccessKey -EndpointUrl "static.johnsmith.net" -HTTPRequestMethod "PUT" -DateTime "Tue, 27 Mar 2007 21:06:08 +0000" -Bucket "static.johnsmith.net" -Uri "/db-backup.dat.gz" -ContentType "application/x-download" -ContentMD5 "4gJE4saaMU4BqNR0kLY+lw==" -Headers @{"x-amz-acl"="public-read";"content-type"="application/x-download";"Content-MD5"="4gJE4saaMU4BqNR0kLY+lw==";"X-Amz-Meta-ReviewedBy"="joe@johnsmith.net,jane@johnsmith.net";"X-Amz-Meta-FileChecksum"="0x02661779";"X-Amz-Meta-ChecksumAlgorithm"="crc32";"Content-Disposition"="attachment; filename=database.dat";"Content-Encoding"="gzip";"Content-Length"="5913339"}
172+
$Signature -eq "ilyl83RwaSoYIEdixDQcA4OnAnc="
173+
# List All My Buckets
174+
$Signature = New-AwsSignatureV2 -AccessKey $AccessKey -SecretAccessKey $SecretAccessKey -EndpointUrl "s3.amazonaws.com" -HTTPRequestMethod "GET" -DateTime "Wed, 28 Mar 2007 01:29:59 +0000"
175+
$Signature -eq "qGdzdERIC03wnaRNKh6OqZehG9s="
176+
# Unicode Keys
177+
$Signature = New-AwsSignatureV2 -AccessKey $AccessKey -SecretAccessKey $SecretAccessKey -EndpointUrl "s3.amazonaws.com" -HTTPRequestMethod "GET" -DateTime "Wed, 28 Mar 2007 01:49:49 +0000" -Uri "/dictionary/fran%C3%A7ais/pr%c3%a9f%c3%a8re"
178+
$Signature -eq "qGdzdERIC03wnaRNKh6OqZehG9s="
179+
$DebugPreference = "SilentlyContinue"
131180
```

0 commit comments

Comments
 (0)