Public/Get-AzStorageTableRowByPartitionKey.ps1

function Get-AzStorageTableRowByPartitionKey
{
    <#
    .SYNOPSIS
        Returns one or more rows/entities based on Partition Key
    .DESCRIPTION
        Returns one or more rows/entities based on Partition Key
    .PARAMETER Table
        Table object of type Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable to retrieve entities
    .PARAMETER PartitionKey
        Identifies the table partition
    .EXAMPLE
        # Getting rows by partition Key
        $saContext = (Get-AzureRmStorageAccount -ResourceGroupName $resourceGroup -Name $storageAccount).Context
        $table = Get-AzureStorageTable -Name $tableName -Context $saContext
        Get-AzureStorageTableRowByPartitionKey -table $table -partitionKey $newPartitionKey
    #>

    [CmdletBinding()]
    param
    (
        [Parameter(Mandatory=$true)]
        $table,

        [Parameter(Mandatory=$true)]
        [AllowEmptyString()]
        [string]$partitionKey
    )
    
    # Filtering by Partition Key


    $tableQuery = New-Object -TypeName "Microsoft.WindowsAzure.Storage.Table.TableQuery"

    [string]$filter = `
        [Microsoft.WindowsAzure.Storage.Table.TableQuery]::GenerateFilterCondition("PartitionKey",`
        [Microsoft.WindowsAzure.Storage.Table.QueryComparisons]::Equal,$partitionKey)

    $tableQuery.FilterString = $filter

    $token = $null
    do
    {
        $result = $table.CloudTable.ExecuteQuerySegmentedAsync($tableQuery, $token)
        $token = $result.ContinuationToken;

    } while ($token -ne $null)


    if (-not [string]::IsNullOrEmpty($result.Result.Results))
    {
        return (Get-PSObjectFromEntity -entityList $result.Result.Results)
    }
}

# SIG # Begin signature block
# MIINGQYJKoZIhvcNAQcCoIINCjCCDQYCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUOl/iAjhCB/bodvhxsLAqXOg1
# z1KgggpOMIIE7TCCA9WgAwIBAgIQQZPGqlPXiwG2ivrlaoev8jANBgkqhkiG9w0B
# 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
# gjcCAQsxDjAMBgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBSe7Opa408Ev269
# fPQsa8767or9cTANBgkqhkiG9w0BAQEFAASCAQCNVBa9QFfeOSWnEsVNl9swLJcl
# ZmA/FUYtOSfRm6zHa94xPfKz6qvpuG8BaHai6BVO+7VFDLer3yk2glaGReE3+mAy
# Of4XjEBeLQpF2q9UgIOaqVWYdCSV6gJLTImeTCjaNgsi+N+zFvjW0XJ24att7a96
# WMjz0oqaAm1X6VO+YRuMzgxtncScMHDOFNqM1Jw9kLjSJZlVmrn/9sD6sTdzkagV
# b/cZaAm0JL2GKeGhfBJ0H7E2nHiz5hKZwb6biwqb7khnvrKL7RbhGz2GJyXYwg/9
# tojV4Mp7Gm+dJBjFEEO2wrwmEQ181E8LDcvPr9qJEZkEb1HT3sTZ5AsUbXYs
# SIG # End signature block