Freigeben über


Get-AzStorageBlobQueryResult

Wendet eine einfache strukturierte Abfragesprache -Anweisung (SQL) auf den Inhalt eines BLOB an, und speichern Sie nur die abgefragte Teilmenge der Daten in einer lokalen Datei.

Syntax

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>]

Beschreibung

Das Cmdlet "Get-AzStorageBlobQueryResult" wendet eine einfache strukturierte Abfragesprache (SQL)-Anweisung auf den Inhalt eines Blobs an und speichert die abgefragte Teilmenge der Daten in einer lokalen Datei.

Beispiele

Beispiel 1: Abfragen eines Blobs

$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

Mit diesem Befehl wird ein BLOB erfolgreich mit der Eingabekonfiguration als CSV und der Ausgabekonfiguration als JSON abfragt und die Ausgabedatei in der lokalen Datei "c:\resultfile.json" gespeichert.

Beispiel 2: Abfragen einer BLOB-Momentaufnahme

$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

Dieser Befehl ruft zuerst ein BLOB-Objekt für blob-Momentaufnahme ab, fragt dann die Blob-Momentaufnahme ab und zeigt das Ergebnis abfragefehler an.

Parameter

-Blob

Blobname

Typ:String
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-BlobBaseClient

BlobBaseClient-Objekt

Typ:BlobBaseClient
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-BlobContainerClient

BlobContainerClient-Objekt

Typ:BlobContainerClient
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-ClientTimeoutPerRequest

Die clientseitige maximale Ausführungszeit für jede Anforderung in Sekunden.

Typ:Nullable<T>[Int32]
Aliase:ClientTimeoutPerRequestInSeconds
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ConcurrentTaskCount

Die Gesamtmenge der gleichzeitigen asynchronen Vorgänge. Der Standardwert ist 10.

Typ:Nullable<T>[Int32]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Container

Containername

Typ:String
Position:1
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Context

Azure Storage Context-Objekt

Typ:IStorageContext
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Anmeldeinformationen, Konto, Mandant und Abonnement für die Kommunikation mit Azure

Typ:IAzureContextContainer
Aliase:AzureRmContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Force

Erzwingen, die vorhandene Datei zu überschreiben.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputTextConfiguration

Die Konfiguration, die zum Verarbeiten des Abfrageeingabetexts verwendet wird. Erstellen Sie das Konfigurationsobjekt mit New-AzStorageBlobQueryConfig.

Typ:PSBlobQueryTextConfiguration
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-OutputTextConfiguration

Die Konfiguration, die zum Verarbeiten des Abfrageausgabetexts verwendet wird. Erstellen Sie das Konfigurationsobjekt mit New-AzStorageBlobQueryConfig.

Typ:PSBlobQueryTextConfiguration
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PassThru

Gibt zurück, ob das angegebene Blob erfolgreich abgefragt wird.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-QueryString

Abfragezeichenfolge, weitere Details finden Sie unter: https://learn.microsoft.com/azure/storage/blobs/query-acceleration-sql-reference

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ResultFile

Lokaler Dateipfad zum Speichern des Abfrageergebnisses.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ServerTimeoutPerRequest

Der Servertimeout für jede Anforderung in Sekunden.

Typ:Nullable<T>[Int32]
Aliase:ServerTimeoutPerRequestInSeconds
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SnapshotTime

Blob SnapshotTime

Typ:Nullable<T>[DateTimeOffset]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TagCondition

Optionale Tag-Ausdrucksanweisung zum Überprüfen der Übereinstimmungsbedingung. Die BLOB-Anforderung schlägt fehl, wenn die Blobtags nicht mit dem angegebenen Ausdruck übereinstimmen. Weitere Informationen finden Sie unter https://learn.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations#tags-conditional-operations.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-VersionId

Blob-VersionId

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

BlobBaseClient

BlobContainerClient

IStorageContext

Ausgaben

Boolean