Public/Add-StorageTableRow.ps1
|
function Add-StorageTableRow { <# .SYNOPSIS Adds a row/entity to a specified table .DESCRIPTION Adds a row/entity to a specified table .PARAMETER Table Table object of type Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable where the entity will be added .PARAMETER PartitionKey Identifies the table partition .PARAMETER RowKey Identifies a row within a partition .PARAMETER Property Hashtable with the columns that will be part of the entity. e.g. @{"firstName"="Paulo";"lastName"="Marques"} .EXAMPLE # Adding a row $saContext = (Get-AzRmStorageAccount -ResourceGroupName $resourceGroup -Name $storageAccount).Context $table = Get-AzStorageTable -Name $tableName -Context $saContext Add-StorageTableRow -table $table -partitionKey $partitionKey -rowKey ([guid]::NewGuid().tostring()) -property @{"firstName"="Paulo";"lastName"="Costa";"role"="presenter"} #> [CmdletBinding()] param ( [Parameter(Mandatory=$true)] $table, [Parameter(Mandatory=$true)] [AllowEmptyString()] [String]$partitionKey, [Parameter(Mandatory=$true)] [AllowEmptyString()] [String]$rowKey, [Parameter(Mandatory=$false)] [hashtable]$property ) # Creates the table entity with mandatory partitionKey and rowKey arguments $entity = New-Object -TypeName "Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity" -ArgumentList $partitionKey, $rowKey # Adding the additional columns to the table entity foreach ($prop in $property.Keys) { if ($prop -ne "TableTimestamp") { $entity.Properties.Add($prop, $property.Item($prop)) } } return ($table.CloudTable.ExecuteAsync((invoke-expression "[Microsoft.WindowsAzure.Storage.Table.TableOperation]::insert(`$entity)"))) } # SIG # Begin signature block # MIINGQYJKoZIhvcNAQcCoIINCjCCDQYCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUQO4/XI9qW2rq/Et6DF85qump # fKqgggpOMIIE7TCCA9WgAwIBAgIQQZPGqlPXiwG2ivrlaoev8jANBgkqhkiG9w0B # AQsFADB/MQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRp # b24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMDAuBgNVBAMTJ1N5 # bWFudGVjIENsYXNzIDMgU0hBMjU2IENvZGUgU2lnbmluZyBDQTAeFw0xODAzMTkw # MDAwMDBaFw0yMTA2MTAyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UECAwM # UGVubnN5bHZhbmlhMQ4wDAYDVQQHDAVFeHRvbjEmMCQGA1UECgwdQmVudGxleSBT # eXN0ZW1zLCBJbmNvcnBvcmF0ZWQxJjAkBgNVBAMMHUJlbnRsZXkgU3lzdGVtcywg # SW5jb3Jwb3JhdGVkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA79TX # 6inxpO0aZE9va+HOzFRDWoBh9Cy0gp8Rnya/hUK1cLI250PQQed0SbT4bWNbXvAU # HekN8Xm6zL53akGbhJre7f9iqTfm2WFdcNDvQxcFwYVVvOa/R5kycmb31Uv30zuT # zeSPjfn4yuEajN6piRPPOaGQpwpeVCRmCISgWrVrdmiFP9TCr2E1DNGBtH+uR5gM # 4r/ZAtzwQKBFJH9lzVLN50cRbWFyft1jcEy75hSqlME+5HqkoNs/RamLCPFM6xr7 # NqYNA/7cSv1bH9vG/REGccre06+hAA4PQ4sRyTfNbEKB9lp04+rbkS6tYXWyyGqK # MaK1UiRqnBwmr58OLQIDAQABo4IBXTCCAVkwCQYDVR0TBAIwADAOBgNVHQ8BAf8E # BAMCB4AwKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3N2LnN5bWNiLmNvbS9zdi5j # cmwwYQYDVR0gBFowWDBWBgZngQwBBAEwTDAjBggrBgEFBQcCARYXaHR0cHM6Ly9k # LnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIwGQwXaHR0cHM6Ly9kLnN5bWNiLmNv # bS9ycGEwEwYDVR0lBAwwCgYIKwYBBQUHAwMwVwYIKwYBBQUHAQEESzBJMB8GCCsG # AQUFBzABhhNodHRwOi8vc3Yuc3ltY2QuY29tMCYGCCsGAQUFBzAChhpodHRwOi8v # c3Yuc3ltY2IuY29tL3N2LmNydDAfBgNVHSMEGDAWgBSWO1PweTOXr32D7y4rzMq3 # hh5yZjAdBgNVHQ4EFgQUwKmk2F+wqoV90WWkKr+6Emnsg2cwDQYJKoZIhvcNAQEL # BQADggEBAELOfisTEfHRye6F8VgF1b8SyK5Djmoi6bRYI9m2zzTcbTSEAAeZg5zR # rv0BOTICLxkltcJK2lxKahpTNa5kNF3jAiwNK1eCz6Id65iLbEo7xVPkTJzuFzdX # wiCWjo4CO9DEIHJSRyDaPv4bKeW4+4f9YAhJZXcQgH12nRqJaw0rQUig1MZmTPuj # prF3xeODz2wd67ExM6nzfeHkHELG5JXcjmA5fVBP7KaDibpYGpg+CIHAl9ZC9xnE # MU4MMab6QS3OZz3EoVSTV6ej9On74E+I8k7/X9NzKZGCQ0tJ28V2OhXD/oXW7a5N # Aj7F/TiWHEjkdZUTOBZLR/feG2yghBUwggVZMIIEQaADAgECAhA9eNf5dklgsmF9 # 9PAeyoYqMA0GCSqGSIb3DQEBCwUAMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO # VmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsx # OjA4BgNVBAsTMShjKSAyMDA2IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6 # ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFBy # aW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHNTAeFw0xMzEyMTAwMDAw # MDBaFw0yMzEyMDkyMzU5NTlaMH8xCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1h # bnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29y # azEwMC4GA1UEAxMnU3ltYW50ZWMgQ2xhc3MgMyBTSEEyNTYgQ29kZSBTaWduaW5n # IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl4MeABavLLHSCMTX # aJNRYB5x9uJHtNtYTSNiarS/WhtR96MNGHdou9g2qy8hUNqe8+dfJ04LwpfICXCT # qdpcDU6kDZGgtOwUzpFyVC7Oo9tE6VIbP0E8ykrkqsDoOatTzCHQzM9/m+bCzFhq # ghXuPTbPHMWXBySO8Xu+MS09bty1mUKfS2GVXxxw7hd924vlYYl4x2gbrxF4Gpiu # xFVHU9mzMtahDkZAxZeSitFTp5lbhTVX0+qTYmEgCscwdyQRTWKDtrp7aIIx7mXK # 3/nVjbI13Iwrb2pyXGCEnPIMlF7AVlIASMzT+KV93i/XE+Q4qITVRrgThsIbnepa # ON2b2wIDAQABo4IBgzCCAX8wLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNo # dHRwOi8vczIuc3ltY2IuY29tMBIGA1UdEwEB/wQIMAYBAf8CAQAwbAYDVR0gBGUw # YzBhBgtghkgBhvhFAQcXAzBSMCYGCCsGAQUFBwIBFhpodHRwOi8vd3d3LnN5bWF1 # dGguY29tL2NwczAoBggrBgEFBQcCAjAcGhpodHRwOi8vd3d3LnN5bWF1dGguY29t # L3JwYTAwBgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vczEuc3ltY2IuY29tL3BjYTMt # ZzUuY3JsMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDAzAOBgNVHQ8BAf8E # BAMCAQYwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMTEVN5bWFudGVjUEtJLTEtNTY3 # MB0GA1UdDgQWBBSWO1PweTOXr32D7y4rzMq3hh5yZjAfBgNVHSMEGDAWgBR/02Wn # wt3su/AwCfNDOfoCrzMxMzANBgkqhkiG9w0BAQsFAAOCAQEAE4UaHmmpN/egvaSv # fh1hU/6djF4MpnUeeBcj3f3sGgNVOftxlcdlWqeOMNJEWmHbcG/aIQXCLnO6SfHR # k/5dyc1eA+CJnj90Htf3OIup1s+7NS8zWKiSVtHITTuC5nmEFvwosLFH8x2iPu6H # 2aZ/pFalP62ELinefLyoqqM9BAHqupOiDlAiKRdMh+Q6EV/WpCWJmwVrL7TJAUwn # ewusGQUioGAVP9rJ+01Mj/tyZ3f9J5THujUOiEn+jf0or0oSvQ2zlwXeRAwV+jYr # A9zBUAHxoRFdFOXivSdLVL4rhF4PpsN0BQrvl8OJIrEfd/O9zUPU8UypP7WLhK9k # 8tAUITGCAjUwggIxAgEBMIGTMH8xCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1h # bnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29y # azEwMC4GA1UEAxMnU3ltYW50ZWMgQ2xhc3MgMyBTSEEyNTYgQ29kZSBTaWduaW5n # IENBAhBBk8aqU9eLAbaK+uVqh6/yMAkGBSsOAwIaBQCgeDAYBgorBgEEAYI3AgEM # MQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQB # gjcCAQsxDjAMBgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBQUNwdpSeO32JHP # Uce1up8rJqUaNzANBgkqhkiG9w0BAQEFAASCAQC5EaxPYe7W8veejjWrhzXUlStn # xVd24JueabS4W2YFPCLYmuHLKdC7DIfuFAlNZkxPDxmJ33vHc34n5tGZX0QfBCJ5 # loLYDenO1MN7VkEvr6Io4JkES39hHcharUEKrjalVIZ+iQPo+/pExk+9je4/ZpHA # I2SVPWJHBFQHwvlObK3gzI8R3+jmQUW8VT6NeuZOVM30GUrYFEhU7DYWHI2Wik3U # VyLT0VfFaCxZO5MzOgSlI6PUP1YBZYgEdyIDFSQ+PmQ7UvkmKnhguRHsh0YX1hDM # TosY1CASXdpVg8chWWDMFZFadKTtKOPhEvk0k5y2bfhOWblTMnPbLn/ihPNs # SIG # End signature block |