Get-AzStorageBlobQueryResult
在 Blob 的內容上套用簡單的結構化查詢語言 (SQL) 語句,並將查詢的數據子集儲存至本機檔案。
語法
Get-AzStorageBlobQueryResult
[-Blob] <String>
[-Container] <String>
[-SnapshotTime <DateTimeOffset>]
[-VersionId <String>]
-QueryString <String>
-ResultFile <String>
[-InputTextConfiguration <PSBlobQueryTextConfiguration>]
[-OutputTextConfiguration <PSBlobQueryTextConfiguration>]
[-PassThru]
[-Force]
[-TagCondition <String>]
[-Context <IStorageContext>]
[-ServerTimeoutPerRequest <Int32>]
[-ClientTimeoutPerRequest <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-ConcurrentTaskCount <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Get-AzStorageBlobQueryResult
-BlobBaseClient <BlobBaseClient>
-QueryString <String>
-ResultFile <String>
[-InputTextConfiguration <PSBlobQueryTextConfiguration>]
[-OutputTextConfiguration <PSBlobQueryTextConfiguration>]
[-PassThru]
[-Force]
[-TagCondition <String>]
[-Context <IStorageContext>]
[-ServerTimeoutPerRequest <Int32>]
[-ClientTimeoutPerRequest <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-ConcurrentTaskCount <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Get-AzStorageBlobQueryResult
-BlobContainerClient <BlobContainerClient>
[-Blob] <String>
[-SnapshotTime <DateTimeOffset>]
[-VersionId <String>]
-QueryString <String>
-ResultFile <String>
[-InputTextConfiguration <PSBlobQueryTextConfiguration>]
[-OutputTextConfiguration <PSBlobQueryTextConfiguration>]
[-PassThru]
[-Force]
[-TagCondition <String>]
[-Context <IStorageContext>]
[-ServerTimeoutPerRequest <Int32>]
[-ClientTimeoutPerRequest <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-ConcurrentTaskCount <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Get-AzStorageBlobQueryResult Cmdlet 會在 Blob 的內容上套用簡單的結構化查詢語言 (SQL) 語句,並將查詢的數據子集儲存至本機檔案。
範例
範例 1:查詢 Blob
$inputconfig = New-AzStorageBlobQueryConfig -AsCsv -HasHeader
$outputconfig = New-AzStorageBlobQueryConfig -AsJson
$queryString = "SELECT * FROM BlobStorage WHERE Name = 'a'"
$result = Get-AzStorageBlobQueryResult -Container $containerName -Blob $blobName -QueryString $queryString -ResultFile "c:\resultfile.json" -InputTextConfiguration $inputconfig -OutputTextConfiguration $outputconfig -Context $ctx
$result
BytesScanned FailureCount BlobQueryError
------------ ------------ --------------
449 0
此命令會以輸入組態作為 csv,並將輸出組態儲存至本機檔案 「c:\resultfile.js開啟」 ,此命令會查詢 blob succsssfully。
範例 2:查詢 Blob 快照集
$blob = Get-AzStorageBlob -Container $containerName -Blob $blobName -SnapshotTime "2020-07-29T11:08:21.1097874Z" -Context $ctx
$inputconfig = New-AzStorageBlobQueryConfig -AsCsv -ColumnSeparator "," -QuotationCharacter """" -EscapeCharacter "\" -RecordSeparator "`n" -HasHeader
$outputconfig = New-AzStorageBlobQueryConfig -AsJson -RecordSeparator "`n"
$queryString = "SELECT * FROM BlobStorage WHERE _1 LIKE '1%%'"
$result = $blob | Get-AzStorageBlobQueryResult -QueryString $queryString -ResultFile $localFilePath -InputTextConfiguration $inputconfig -OutputTextConfiguration $outputconfig
$result
BytesScanned FailureCount BlobQueryError
------------ ------------ --------------
187064971 1 {ParseError}
$result.BlobQueryError
Name Description IsFatal Position
---- ----------- ------- --------
ParseError Unexpected token '1' at [byte: 3077737]. Expecting token ','. True 7270632
此命令會先取得 Blob 快照集的 Blob 對象,然後查詢 Blob 快照集,並顯示結果包含查詢錯誤。
參數
-Blob
Blob 名稱
類型: | String |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-BlobBaseClient
BlobBaseClient 物件
類型: | BlobBaseClient |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-BlobContainerClient
BlobContainerClient 物件
類型: | BlobContainerClient |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-ClientTimeoutPerRequest
用戶端每個要求的運行時間上限,以秒為單位。
類型: | Nullable<T>[Int32] |
別名: | ClientTimeoutPerRequestInSeconds |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ConcurrentTaskCount
並行異步工作的總數量。 預設值為 10。
類型: | Nullable<T>[Int32] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Container
容器名稱
類型: | String |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Context
Azure 記憶體內容物件
類型: | IStorageContext |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-DefaultProfile
用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。
類型: | IAzureContextContainer |
別名: | AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Force
強制覆寫現有的檔案。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputTextConfiguration
用來處理查詢輸入文字的組態。 使用 New-AzStorageBlobQueryConfig 建立組態物件。
類型: | PSBlobQueryTextConfiguration |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-OutputTextConfiguration
用來處理查詢輸出文字的組態。 使用 New-AzStorageBlobQueryConfig 建立組態物件。
類型: | PSBlobQueryTextConfiguration |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-PassThru
傳回指定的 Blob 是否成功查詢。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-QueryString
查詢字串,請參閱:https://learn.microsoft.com/azure/storage/blobs/query-acceleration-sql-reference
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-ResultFile
用來儲存查詢結果的本機檔案路徑。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-ServerTimeoutPerRequest
伺服器會以秒為單位針對每個要求逾時。
類型: | Nullable<T>[Int32] |
別名: | ServerTimeoutPerRequestInSeconds |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SnapshotTime
Blob SnapshotTime
類型: | Nullable<T>[DateTimeOffset] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TagCondition
要檢查比對條件的選擇性標記表達式語句。 Blob 標籤不符合指定表示式時,Blob 要求將會失敗。請參閱 https://learn.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations#tags-conditional-operations中的詳細數據。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-VersionId
Blob VersionId
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |