Referenz von Funktionen, die von der Azure Storage Erweiterung in Azure Database for PostgreSQL flexiblen Server bereitgestellt werden

In der folgenden Liste sind die funktionen aufgeführt, die von der erweiterung Azure Storage bereitgestellt werden:

azure_storage.account_add

Funktion, die ein Speicherkonto und seinen zugeordneten Zugriffsschlüssel zur Liste der Speicherkonten hinzufügt, auf die die azure_storage Erweiterung zugreifen kann.

Wenn ein vorheriger Aufruf dieser Funktion bereits den Verweis auf dieses Speicherkonto hinzugefügt hat, wird kein neuer Eintrag hinzugefügt, sondern stattdessen der Zugriffsschlüssel des vorhandenen Eintrags aktualisiert.

Hinweis

Diese Funktion überprüft nicht, ob der Name des verwiesenen Kontos vorhanden ist oder mit der bereitgestellten Zugriffstaste darauf zugegriffen werden kann. Es überprüft jedoch, ob der Name des Speicherkontos gültig ist, entsprechend den Benennungsüberprüfungsregeln, die für Azure-Speicherkonten auferlegt werden.

azure_storage.account_add(account_name_p text, account_key_p text);

Eine überladene Version dieser Funktion akzeptiert einen account_config Parameter, der den Namen des referenzierten Azure Storage Kontos und alle erforderlichen Einstellungen wie Authentifizierungstyp, Kontotyp oder Speicheranmeldeinformationen kapselt.

azure_storage.account_add(account_config jsonb);

Erlaubnisse

Muss Mitglied von azure_storage_admin.

Arguments

account_name_p

text der Name des Azure Blob Storage-Kontos, das alle Ihre Objekte enthält: Blobs, Dateien, Warteschlangen und Tabellen. Das Speicherkonto stellt einen eindeutigen Namespace bereit, auf den Sie von überall aus über HTTPS zugreifen können.

account_key_p

text der Wert einer der Zugriffstasten für das Speicherkonto. Ihre Azure Blob Storage-Zugriffstasten ähneln einem Stammkennwort für Ihr Speicherkonto. Achten Sie darauf, die Zugriffsschlüssel immer gut zu schützen. Verwenden Sie Azure Key Vault zum sicheren Verwalten und Rotieren Ihrer Schlüssel. Der Kontoschlüssel wird in einer Tabelle gespeichert, auf die nur der Superuser zugreifen kann. Benutzer, die der azure_storage_admin Rolle gewährt wurden, können über Funktionen mit dieser Tabelle interagieren. Um festzustellen, welche Speicherkonten hinzugefügt werden, verwenden Sie die Funktion azure_storage.account_list.

account_config

jsonb der Name des Azure Storage-Kontos und alle erforderlichen Einstellungen wie Authentifizierungstyp, Kontotyp oder Speicheranmeldeinformationen. Verwenden Sie die Hilfsfunktionen azure_storage.account_options_managed_identity, azure_storage.account_options_credentials oder azure_storage.account_options , um einen der gültigen Werte zu erstellen, die Sie als dieses Argument übergeben müssen.

Rückgabetyp

VOID

azure_storage.account_encrypt_existing_credentials

Funktion, die eine Liste vorhandener Speicherkonten durchsucht, die Sie mithilfe von azure_storage.account_add in älteren Versionen der Erweiterung hinzugefügt haben. Diese Versionen speichern unverschlüsselte Anmeldeinformationen. Mit dieser Funktion werden alle Anmeldeinformationen mithilfe des in azure_storage.credential_encryption_keyder Datei gespeicherten Schlüssels verschlüsselt. Der Wert ist azure_storage.credential_encryption_key auf Serverebene festgelegt. Wenn Sie daher die Azure Storage Erweiterung in mehreren Datenbanken auf demselben Server erstellen, verschlüsselt derselbe Verschlüsselungsschlüssel alle vertraulichen Anmeldeinformationen, die von der Erweiterung gespeichert werden, unabhängig von der Datenbank, in der sie gespeichert sind.

Von Bedeutung

Wenn Sie die Azure Storage-Erweiterung in mehreren Datenbanken desselben Servers erstellen, müssen Sie die azure_storage.account_encrypt_existing_credentials Funktion in jeder dieser Datenbanken ausführen.

azure_storage.account_encrypt_existing_credentials();

Erlaubnisse

Muss Mitglied von azure_storage_admin.

Arguments

Diese Funktion verwendet keine Argumente.

Rückgabetyp

bigint Die Anzahl der vorhandenen Speicherkontoanmeldeinformationen, die vor der Ausführung der Funktion unverschlüsselt waren und jetzt mit dem in azure_storage.credential_encryption_keyder Datei gespeicherten Schlüssel verschlüsselt werden.

azure_storage.account_options_managed_identity

Funktion, die als Hilfsfunktion fungiert. Rufen Sie ihn als Parameter in azure_storage.account_add auf. Es hilft Ihnen, einen gültigen Wert für das account_config Argument zu erstellen, wenn Sie eine vom System zugewiesene verwaltete Identität verwenden, um mit dem Azure Storage Konto zu interagieren.

azure_storage.account_options_managed_identity(name text, type azure_storage.storage_type);

Erlaubnisse

Jeder Benutzer oder jede Rolle kann diese Funktion aufrufen.

Arguments

name

text der Name des Azure Blob Storage-Kontos, das alle Ihre Objekte enthält: Blobs, Dateien, Warteschlangen und Tabellen. Das Speicherkonto stellt einen eindeutigen Namespace bereit, auf den Sie von überall aus über HTTPS zugreifen können.

type

azure_storage.storage_type der Wert eines der unterstützten Speichertypen. Der unterstützte Wert ist blob.

Rückgabetyp

jsonb

azure_storage.account_options_credentials

Hilfsfunktion, die Sie als Parameter in azure_storage.account_add aufrufen können. Es hilft Ihnen, einen gültigen Wert für das account_config Argument zu erstellen, wenn Sie einen Azure Storage Zugriffstaste verwenden, um mit dem Azure Storage Konto zu interagieren.

azure_storage.account_options_credentials(name text, credentials text, type azure_storage.storage_type);

Erlaubnisse

Jeder Benutzer oder jede Rolle kann diese Funktion aufrufen.

Arguments

name

text der Name des Azure Blob Storage-Kontos, das alle Ihre Objekte enthält: Blobs, Dateien, Warteschlangen und Tabellen. Das Speicherkonto stellt einen eindeutigen Namespace bereit, auf den Sie von überall aus über HTTPS zugreifen können.

Zugangsdaten

text der Wert einer der Zugriffstasten für das Speicherkonto. Ihre Azure Blob Storage-Zugriffstasten ähneln einem Stammkennwort für Ihr Speicherkonto. Achten Sie darauf, die Zugriffsschlüssel immer gut zu schützen. Verwenden Sie Azure Key Vault zum sicheren Verwalten und Rotieren Ihrer Schlüssel. Der Kontoschlüssel wird in einer Tabelle gespeichert, auf die nur der Superuser zugreifen kann. Benutzer, die der azure_storage_admin Rolle gewährt wurden, können über Funktionen mit dieser Tabelle interagieren. Um festzustellen, welche Speicherkonten hinzugefügt werden, verwenden Sie die Funktion azure_storage.account_list.

type

azure_storage.storage_type der Wert eines der unterstützten Speichertypen. Der unterstützte Wert ist blob.

Rückgabetyp

jsonb

azure_storage.account_options

Hilfsfunktion, die Sie als Parameter in azure_storage.account_add aufrufen können. Sie können einen gültigen Wert für das account_config Argument erstellen, wenn Sie einen Azure Storage Zugriffsschlüssel oder eine vom System zugewiesene verwaltete Identität verwenden, um mit dem Azure Storage Konto zu interagieren.

azure_storage.account_options(name text, auth_type azure_storage.auth_type, storage_type azure_storage.storage_type, credentials text DEFAULT NULL);

Erlaubnisse

Jeder Benutzer oder jede Rolle kann diese Funktion aufrufen.

Arguments

name

text der Name des Azure Blob Storage-Kontos, das alle Ihre Objekte enthält: Blobs, Dateien, Warteschlangen und Tabellen. Das Speicherkonto stellt einen eindeutigen Namespace bereit, auf den Sie von überall aus über HTTPS zugreifen können.

auth_type

azure_storage.auth_type der Wert eines der unterstützten Speichertypen. Unterstützte Werte sind access-key und managed-identity.

storage_type

azure_storage.storage_type der Wert eines der unterstützten Speichertypen. Der unterstützte Wert ist blob.

Zugangsdaten

text der Wert einer der Zugriffstasten für das Speicherkonto. Ihre Azure Blob Storage-Zugriffstasten ähneln einem Stammkennwort für Ihr Speicherkonto. Achten Sie darauf, die Zugriffsschlüssel immer gut zu schützen. Verwenden Sie Azure Key Vault zum sicheren Verwalten und Rotieren Ihrer Schlüssel. Der Kontoschlüssel wird in einer Tabelle gespeichert, auf die nur der Superuser zugreifen kann. Benutzer, die der azure_storage_admin Rolle gewährt wurden, können über Funktionen mit dieser Tabelle interagieren. Um festzustellen, welche Speicherkonten hinzugefügt werden, verwenden Sie die Funktion azure_storage.account_list.

Rückgabetyp

jsonb

azure_storage.account_remove

Funktion, die ein Speicherkonto und seinen zugeordneten Zugriffsschlüssel aus der Liste der Speicherkonten entfernt, auf die die azure_storage Erweiterung zugreifen kann.

azure_storage.account_remove(account_name_p text);

Erlaubnisse

Muss Mitglied von azure_storage_admin.

Arguments

account_name_p

text der Name des Azure Blob Storage-Kontos, das alle Ihre Objekte enthält: Blobs, Dateien, Warteschlangen und Tabellen. Das Speicherkonto stellt einen eindeutigen Namespace bereit, auf den Sie von überall aus über HTTPS zugreifen können.

Rückgabetyp

VOID

azure_storage.account_user_add

Funktion, die einem PostgreSQL-Benutzer oder einer Rolle Zugriff auf ein Speicherkonto über die von der azure_storage Erweiterung bereitgestellten Funktionen gewährt.

Hinweis

Die Ausführung dieser Funktion ist nur erfolgreich, wenn das Speicherkonto, dessen Name Sie als erstes Argument übergeben, bereits mithilfe von azure_storage.account_add erstellt wurde und wenn der Benutzer oder die Rolle, deren Name Sie als zweites Argument übergeben, bereits vorhanden ist.

azure_storage.account_add(account_name_p text, user_p regrole);

Erlaubnisse

Muss Mitglied von azure_storage_admin.

Arguments

account_name_p

text der Name des Azure Blob Storage-Kontos, das alle Ihre Objekte enthält: Blobs, Dateien, Warteschlangen und Tabellen. Das Speicherkonto stellt einen eindeutigen Namespace bereit, auf den Sie von überall aus über HTTPS zugreifen können.

user_p

regrole der Name eines PostgreSQL-Benutzers oder einer auf dem Server verfügbaren Rolle.

Rückgabetyp

VOID

azure_storage.account_user_remove

Funktion, die einen PostgreSQL-Benutzer oder Rollenzugriff auf ein Speicherkonto über die von der azure_storage Erweiterung bereitgestellten Funktionen widerruft.

Hinweis

Die Ausführung dieser Funktion ist nur erfolgreich, wenn das Speicherkonto, dessen Name Sie als erstes Argument übergeben haben, bereits vorhanden ist und mithilfe von azure_storage.account_add erstellt wurde. Der Benutzer oder die Rolle, deren Name Sie als zweites Argument übergeben, muss ebenfalls vorhanden sein. Wenn Sie einen Benutzer oder eine Rolle durch Ausführen DROP USER | ROLEvom Server ablegen, werden die Berechtigungen, die für einen Verweis auf Azure Storage Konten erteilt wurden, ebenfalls automatisch entfernt.

azure_storage.account_user_remove(account_name_p text, user_p regrole);

Erlaubnisse

Muss Mitglied von azure_storage_admin.

Arguments

account_name_p

text der Name des Azure Blob Storage-Kontos, das alle Ihre Objekte enthält: Blobs, Dateien, Warteschlangen und Tabellen. Das Speicherkonto stellt einen eindeutigen Namespace bereit, auf den Sie von überall aus über HTTPS zugreifen können.

user_p

regrole der Name eines PostgreSQL-Benutzers oder einer auf dem Server verfügbaren Rolle.

Rückgabetyp

VOID

azure_storage.account_list

Funktion, die die Namen der Speicherkonten auflistet, die Sie über die Funktion azure_storage.account_add konfiguriert haben, zusammen mit den PostgreSQL-Benutzern oder -Rollen, die über die von der Erweiterung bereitgestellten Funktionen zum Interagieren mit diesem azure_storage Speicherkonto verfügen.

azure_storage.account_list();

Erlaubnisse

Muss Mitglied von azure_storage_admin.

Arguments

Diese Funktion verwendet keine Argumente.

Rückgabetyp

TABLE(account_name text, auth_type azure_storage.auth_type, azure_storage_type azure_storage.storage_type, allowed_users regrole[])eine vierspaltige Tabelle mit der Liste der hinzugefügten Azure Storage Konten, die Art der Authentifizierung, die für die Interaktion mit jedem Konto, den Typ des Speichers und die Liste der PostgreSQL-Benutzer oder -Rollen verwendet wird, die Zugriff darauf haben.

azure_storage.blob_list

Funktion, die die Namen und andere Eigenschaften (Größe, lastModified, eTag, contentType, contentEncoding und contentHash) von Blobs auflistet, die im angegebenen Container des referenzierbaren Speicherkontos gespeichert sind.

azure_storage.blob_list(account_name text, container_name text, prefix text DEFAULT ''::text);

Erlaubnisse

Fügen Sie den Benutzer oder die Rolle hinzu, der diese Funktion aufruft, zur Zulassungsliste für die account_name Funktion, indem Sie azure_storage.account_user_add ausführen. Mitglieder von azure_storage_admin sind automatisch berechtigt, auf alle Azure Storage Konten zu verweisen, deren Verweise mithilfe von azure_storage.account_add hinzugefügt wurden.

Arguments

account_name

text der Name des Azure Blob Storage-Kontos, das alle Ihre Objekte enthält: Blobs, Dateien, Warteschlangen und Tabellen. Das Speicherkonto stellt einen eindeutigen Namespace bereit, auf den Sie von überall aus über HTTPS zugreifen können.

container_name

text der Name eines Containers. Ein Container organisiert eine Reihe von Blobs, ähnlich wie ein Verzeichnis in einem Dateisystem. Ein Speicherkonto kann eine unbegrenzte Anzahl von Containern enthalten, und ein Container kann eine unbegrenzte Anzahl von Blobs speichern. Ein Containername muss ein gültiger DNS-Name (Domain Name System) sein, da er Teil des eindeutigen URI ist, der zum Adressieren des Containers oder seiner BLOBs verwendet wird. Befolgen Sie beim Benennen eines Containers diese Regeln.

Der URI für einen Container ähnelt folgendem: https://myaccount.blob.core.windows.net/mycontainer

prefix

text wenn angegeben, gibt die Funktion die Blobs zurück, deren Namen mit dem in diesem Parameter angegebenen Wert beginnen. Standardmäßig wird eine leere Zeichenfolge verwendet.

Rückgabetyp

TABLE(path text, bytes bigint, last_modified timestamp with time zone, etag text, content_type text, content_encoding text, content_hash text) eine Tabelle mit einem Datensatz pro blob, der zurückgegeben wird, einschließlich des vollständigen Namens des Blobs und einiger anderer Eigenschaften.

Pfad

text den vollständigen Namen des Blobs.

bytes

bigint die Größe des Blobs in Byte.

last_modified

timestamp with time zone Datum und Uhrzeit der letzten Änderung des Blobs. Durch jeden Vorgang, der das BLOB ändert, einschließlich eines Updates der Metadaten oder Eigenschaften des BLOB, wird die Uhrzeit der letzten Änderung aktualisiert.

etag

text Die ETag-Eigenschaft wird für optimistische Parallelität während Updates verwendet. Es handelt sich nicht um einen Zeitstempel, da eine andere Eigenschaft namens Timestamp vorhanden ist, die das letzte Mal speichert, wenn ein Datensatz aktualisiert wurde. Wenn Sie beispielsweise eine Entität laden und aktualisieren möchten, muss das ETag mit dem übereinstimmen, was derzeit gespeichert ist. Das Festlegen des entsprechenden ETags ist wichtig, da Sie bei mehreren Benutzern, die dasselbe Element bearbeiten, nicht möchten, dass sie die Änderungen gegenseitig überschreiben.

content_type

text der für das Blob angegebene Inhaltstyp. Der Standardinhaltstyp ist application/octet-stream.

content_encoding

text die Inhaltscodierungseigenschaft eines Blobs, mit dem Azure Storage definiert werden kann. Bei komprimierten Inhalten könnten Sie die Eigenschaft auf Gzip festlegen. Wenn der Browser auf den Inhalt zugreift, wird der Inhalt automatisch dekomprimiert.

content_hash

text der Hash, der verwendet wird, um die Integrität des Blobs während des Transports zu überprüfen. Wenn Sie diesen Header angeben, überprüft der Speicherdienst den bereitgestellten Hash anhand eines, den er aus dem Inhalt berechnet. Wenn die beiden Hashes nicht übereinstimmen, schlägt der Vorgang fehl und gibt den Fehlercode 400 (ungültige Anforderung) zurück.

azure_storage.blob_get

Funktion, die Daten importiert, indem eine Datei aus einem BLOB-Container in einem Azure Storage-Konto heruntergeladen wird. Er übersetzt den Inhalt in Zeilen, die Sie mithilfe von SQL-Sprachkonstrukten nutzen und verarbeiten können. Diese Funktion bietet Unterstützung zum Filtern und Bearbeiten der daten, die aus dem Blobcontainer abgerufen wurden, bevor sie importiert werden.

Hinweis

Bevor Sie versuchen, auf den Container für das verwiesene Speicherkonto zuzugreifen, überprüft diese Funktion, ob die Namen des Speicherkontos und des Containers, das Sie als Argumente übergeben, gemäß den Benennungsüberprüfungsregeln gültig sind, die für Azure Speicherkonten gelten. Wenn ein Name ungültig ist, gibt die Funktion einen Fehler zurück.

azure_storage.blob_get(account_name text, container_name text, path text, decoder text DEFAULT 'auto'::text, compression text DEFAULT 'auto'::text, options jsonb DEFAULT NULL::jsonb);

Eine überladene Version dieser Funktion akzeptiert einen rec Parameter, mit dem Sie den Ausgabeformatdatensatz bequem definieren können.

azure_storage.blob_get(account_name text, container_name text, path text, rec anyelement, decoder text DEFAULT 'auto'::text, compression text DEFAULT 'auto'::text, options jsonb DEFAULT NULL::jsonb);

Erlaubnisse

Fügen Sie den Benutzer oder die Rolle hinzu, der diese Funktion aufruft, zur Zulassungsliste für die account_name Funktion, indem Sie azure_storage.account_user_add ausführen. Mitglieder von azure_storage_admin sind automatisch berechtigt, auf alle Azure Storage Konten zu verweisen, deren Verweise mithilfe von azure_storage.account_add hinzugefügt wurden.

Arguments

account_name

text der Name des Azure Blob Storage-Kontos, das alle Ihre Objekte enthält: Blobs, Dateien, Warteschlangen und Tabellen. Das Speicherkonto stellt einen eindeutigen Namespace bereit, auf den Sie von überall aus über HTTPS zugreifen können.

container_name

text der Name eines Containers. Ein Container organisiert eine Reihe von Blobs, ähnlich wie ein Verzeichnis in einem Dateisystem. Ein Speicherkonto kann eine unbegrenzte Anzahl von Containern enthalten, und ein Container kann eine unbegrenzte Anzahl von Blobs speichern. Ein Containername muss ein gültiger DNS-Name (Domain Name System) sein, da er Teil des eindeutigen URI ist, der zum Adressieren des Containers oder seiner BLOBs verwendet wird. Befolgen Sie beim Benennen eines Containers diese Regeln.

Der URI für einen Container ähnelt folgendem: https://myaccount.blob.core.windows.net/mycontainer

Pfad

text den vollständigen Namen des Blobs.

Rec

anyelement die Definition der Datensatzausgabestruktur.

Decoder

text die Spezifikation des BLOB-Formats. Legen Sie diesen Wert auf einen der folgenden Werte fest:

Format Vorgabe Beschreibung
auto true Leitet den Wert basierend auf der letzten Reihe von Zeichen ab, die dem Namen des Blobs zugewiesen sind. Wenn der Blobname mit .parquetendet, wird davon ausgegangen parquet. Wenn sie mit .csv oder .csv.gzendet, wird davon ausgegangen csv. Wenn sie mit .tsv oder .tsv.gzendet, wird davon ausgegangen tsv. Endet mit .json, , , .json.gz, .xml, .xml.gzoder .txt, wird davon ausgegangen.txt.gztext.
binary Binary PostgreSQL COPY Format.
csv Kommagetrennte Werteformat, das von PostgreSQL COPY verwendet wird.
parquet Parkettformat.
text | xml | json Eine Datei, die einen einzelnen Textwert enthält.
tsv Tabstopptrennte Werte, das standardmäßige PostgreSQL COPY-Format.
compression

text die Spezifikation des Komprimierungstyps. Legen Sie diesen Wert auf einen der folgenden Werte fest:

Format Vorgabe Beschreibung
auto true Leitet den Wert basierend auf der letzten Reihe von Zeichen ab, die dem Namen des Blobs zugewiesen sind. Wenn der Blobname mit .gzendet, wird davon ausgegangen gzip. Andernfalls wird davon ausgegangen none.
brotli Verwendet den Brotli-Komprimierungsalgorithmus, um das Blob zu komprimieren. Wird nur vom parquet Encoder unterstützt.
gzip Erzwingt die Verwendung des Gzip-Komprimierungsalgorithmus zum Komprimieren des Blobs.
lz4 Verwendet den lz4-Komprimierungsalgorithmus, um das Blob zu komprimieren. Der parquet Encoder ist der einzige Encoder, der diesen Algorithmus unterstützt.
none Komprimiert das Blob nicht.
snappy Verwendet den Snappy-Komprimierungsalgorithmus, um das Blob zu komprimieren. Der parquet Encoder ist der einzige Encoder, der diesen Algorithmus unterstützt.
zstd Verwendet den Zstd-Komprimierungsalgorithmus zum Komprimieren des Blobs. Der parquet Encoder ist der einzige Encoder, der diesen Algorithmus unterstützt.

Die Erweiterung unterstützt keine anderen Komprimierungstypen.

options

jsonb die Einstellungen, die die Behandlung von benutzerdefinierten Kopfzeilen, benutzerdefinierten Trennzeichen, Escapezeichen und anderen Optionen definieren. options wirkt sich auf das Verhalten dieser Funktion auf eine ähnliche Weise aus wie die Optionen, die Sie an den COPY Befehl in PostgreSQL übergeben können, beeinflussen sein Verhalten.

Rückgabetyp

SETOF record SETOF anyelement

azure_storage.blob_put

Funktion, die Daten exportiert, indem Dateien in einen BLOB-Container in einem Azure Storage-Konto hochgeladen werden. Die Funktion erstellt den Dateiinhalt aus Zeilen in PostgreSQL.

Hinweis

Bevor Sie versuchen, auf den Container für das verwiesene Speicherkonto zuzugreifen, überprüft diese Funktion, ob die Namen des Speicherkontos und des Containers, das Sie als Argumente übergeben, gemäß den Benennungsüberprüfungsregeln gültig sind, die für Azure Speicherkonten gelten. Wenn ein Name ungültig ist, gibt die Funktion einen Fehler zurück.

azure_storage.blob_put(account_name text, container_name text, path text, tuple record)
RETURNS VOID;

Eine überladene Version der Funktion enthält den encoder Parameter. Verwenden Sie diesen Parameter, um den Encoder anzugeben, wenn er nicht von der Erweiterung des path Parameters abgeleitet werden kann oder wenn Sie den abgeleiteten Encoder überschreiben möchten.

azure_storage.blob_put(account_name text, container_name text, path text, tuple record, encoder text)
RETURNS VOID;

Eine überladene Version der Funktion enthält den compression Parameter. Verwenden Sie diesen Parameter, um die Komprimierung anzugeben, wenn sie nicht von der Erweiterung des path Parameters abgeleitet werden kann oder wenn Sie die abgeleitete Komprimierung außer Kraft setzen möchten.

azure_storage.blob_put(account_name text, container_name text, path text, tuple record, encoder text, compression text)
RETURNS VOID;

Eine überladene Version der Funktion enthält den options Parameter zum Behandeln von benutzerdefinierten Headern, benutzerdefinierten Trennzeichen, Escapezeichen und anderen Optionen. Der options Parameter funktioniert in ähnlicher Weise wie die Optionen, die Sie an den COPY Befehl in PostgreSQL übergeben können.

azure_storage.blob_put(account_name text, container_name text, path text, tuple record, encoder text, compression text, options jsonb)
RETURNS VOID;

Erlaubnisse

Fügen Sie den Benutzer oder die Rolle hinzu, der diese Funktion aufruft, zur Zulassungsliste für die account_name Funktion, indem Sie azure_storage.account_user_add ausführen. Mitglieder von azure_storage_admin sind automatisch berechtigt, auf alle Azure Storage Konten zu verweisen, deren Verweise mithilfe von azure_storage.account_add hinzugefügt wurden.

Arguments

account_name

text der Name des Azure Blob Storage-Kontos, das alle Ihre Objekte enthält: Blobs, Dateien, Warteschlangen und Tabellen. Das Speicherkonto stellt einen eindeutigen Namespace bereit, auf den Sie von überall aus über HTTPS zugreifen können.

container_name

text der Name eines Containers. Ein Container organisiert eine Reihe von Blobs, ähnlich wie ein Verzeichnis in einem Dateisystem. Ein Speicherkonto kann eine unbegrenzte Anzahl von Containern enthalten, und ein Container kann eine unbegrenzte Anzahl von Blobs speichern. Ein Containername muss ein gültiger DNS-Name (Domain Name System) sein, da er Teil des eindeutigen URI ist, der zum Adressieren des Containers oder seiner BLOBs verwendet wird. Befolgen Sie beim Benennen eines Containers diese Regeln.

Der URI für einen Container ähnelt folgendem: https://myaccount.blob.core.windows.net/mycontainer

Pfad

text den vollständigen Namen des Blobs.

Tupel

record die Definition der Datensatzausgabestruktur.

Encoder

text die Spezifikation des BLOB-Formats. Legen Sie diesen Wert auf einen der folgenden Werte fest:

Format Vorgabe Beschreibung
auto true Leitet den Wert basierend auf der letzten Reihe von Zeichen ab, die dem Namen des Blobs zugewiesen sind. Wenn der Blobname mit .csv oder .csv.gzendet, wird davon ausgegangen csv. Wenn sie mit .tsv oder .tsv.gzendet, wird davon ausgegangen tsv. Wenn es mit .json, , , .xml, .xml.gz, .txtoder .txt.gz, wird davon ausgegangen text.json.gz.
binary Binary PostgreSQL COPY Format.
csv Kommagetrennte Werteformat, das von PostgreSQL COPY verwendet wird.
parquet Parkettformat.
text | xml | json Eine Datei, die einen einzelnen Textwert enthält.
tsv Tabstopptrennte Werte, das standardmäßige PostgreSQL COPY-Format.
compression

text die Spezifikation des Komprimierungstyps. Legen Sie diesen Wert auf einen der folgenden Werte fest:

Format Vorgabe Beschreibung
auto true Leitet den Wert basierend auf der letzten Reihe von Zeichen ab, die dem Namen des Blobs zugewiesen sind. Wenn der Blobname mit .gzendet, wird davon ausgegangen gzip. Andernfalls wird davon ausgegangen none.
brotli Verwendet den Brotli-Komprimierungsalgorithmus, um das Blob zu komprimieren. Wird nur vom parquet Encoder unterstützt.
gzip Erzwingt die Verwendung des Gzip-Komprimierungsalgorithmus zum Komprimieren des Blobs.
lz4 Verwendet den lz4-Komprimierungsalgorithmus, um das Blob zu komprimieren. Der parquet Encoder ist der einzige Encoder, der diesen Algorithmus unterstützt.
none Komprimiert das Blob nicht.
snappy Verwendet den Snappy-Komprimierungsalgorithmus, um das Blob zu komprimieren. Der parquet Encoder ist der einzige Encoder, der diesen Algorithmus unterstützt.
zstd Verwendet den Zstd-Komprimierungsalgorithmus zum Komprimieren des Blobs. Der parquet Encoder ist der einzige Encoder, der diesen Algorithmus unterstützt.

Die Erweiterung unterstützt keine anderen Komprimierungstypen.

options

jsonb die Einstellungen, die die Behandlung von benutzerdefinierten Kopfzeilen, benutzerdefinierten Trennzeichen, Escapezeichen und anderen Optionen definieren. options wirkt sich auf das Verhalten dieser Funktion auf eine Ähnliche Weise aus wie die Optionen, die Sie an den COPY Befehl in PostgreSQL übergeben können, beeinflussen sein Verhalten.

Rückgabetyp

VOID

azure_storage.options_copy

Hilfsfunktion, die Sie als Parameter aufrufen können.blob_get Sie fungiert als Hilfsfunktion für options_parquet, options_csv_get, options_tsv und options_binary.

azure_storage.options_copy(delimiter text DEFAULT NULL::text, null_string text DEFAULT NULL::text, header boolean DEFAULT NULL::boolean, quote text DEFAULT NULL::text, escape text DEFAULT NULL::text, force_quote text[] DEFAULT NULL::text[], force_not_null text[] DEFAULT NULL::text[], force_null text[] DEFAULT NULL::text[], content_encoding text DEFAULT NULL::text);

Erlaubnisse

Jeder Benutzer oder jede Rolle kann diese Funktion aufrufen.

Arguments

Trennzeichen

text Das Zeichen, das Spalten innerhalb jeder Zeile (Zeile) der Datei trennt. Es muss ein einzelnes 1-Byte-Zeichen sein. Obwohl diese Funktion Trennzeichen einer beliebigen Anzahl von Zeichen unterstützt, gibt PostgreSQL einen COPY delimiter must be a single one-byte character Fehler zurück, wenn Sie versuchen, mehr als ein einzelnes 1-Byte-Zeichen zu verwenden.

null_string

text Die Zeichenfolge, die einen Nullwert darstellt. Der Standardwert ist \N (umgekehrter Schrägstrich-N) im Textformat und eine nicht angehaltene leere Zeichenfolge im CSV-Format. Möglicherweise bevorzugen Sie eine leere Zeichenfolge auch im Textformat für Fälle, in denen Sie keine Nullen von leeren Zeichenfolgen unterscheiden möchten.

boolean Flag, das angibt, ob die Datei eine Kopfzeile mit den Namen jeder Spalte in der Datei enthält. Bei der Ausgabe enthält die erste Zeile die Spaltennamen aus der Tabelle.

Angebot

text Das an zitierte Zeichen, das verwendet werden soll, wenn ein Datenwert zitiert wird. Der Standardwert ist doppeltes Anführungszeichen. Es muss ein einzelnes 1-Byte-Zeichen sein. Obwohl diese Funktion Trennzeichen einer beliebigen Anzahl von Zeichen unterstützt, gibt PostgreSQL einen COPY quote must be a single one-byte character Fehler zurück, wenn Sie versuchen, mehr als ein einzelnes 1-Byte-Zeichen zu verwenden.

Escape

text Das Zeichen, das vor einem Datenzeichen angezeigt werden soll, das dem QUOTE-Wert entspricht. Der Standardwert ist identisch mit dem QUOTE-Wert (sodass das Anführungszeichen verdoppelt wird, wenn es in den Daten angezeigt wird). Es muss ein einzelnes 1-Byte-Zeichen sein. Obwohl diese Funktion Trennzeichen einer beliebigen Anzahl von Zeichen unterstützt, gibt PostgreSQL einen COPY escape must be a single one-byte character Fehler zurück, wenn Sie versuchen, mehr als ein einzelnes 1-Byte-Zeichen zu verwenden.

force_quote

text[] erzwingt die Verwendung von Quoten für alle Nicht-NULL-Werte in jeder angegebenen Spalte. NULL-Ausgabe wird nie zitiert. Wenn * angegeben ist, werden nicht NULL-Werte in allen Spalten zitiert.

force_not_null

text[] Stimmen Sie nicht mit den Werten der angegebenen Spalten mit der NULL-Zeichenfolge überein. In dem Standardfall, in dem die NULL-Zeichenfolge leer ist, bedeutet dies, dass leere Werte als leere Zeichenfolgen anstelle von Nullen gelesen werden, auch wenn sie nicht an zitiert werden.

force_null

text[] Stimmen Sie die Werte der angegebenen Spalten mit der NULL-Zeichenfolge überein, auch wenn sie in Anknullierung angegeben ist. Wenn eine Übereinstimmung gefunden wird, legen Sie den Wert auf NULL fest. In dem Standardfall, in dem die NULL-Zeichenfolge leer ist, konvertiert sie eine leere Zeichenfolge in NULL.

content_encoding

text Name der Codierung, mit der die Datei codiert ist. Wenn Sie diese Option weglassen, wird die aktuelle Clientcodierung verwendet.

Rückgabetyp

jsonb

azure_storage.options_parkett

Hilfsfunktion zum Decodieren des Inhalts einer Parkettdatei. Verwenden Sie sie als Parameter in blob_get.

azure_storage.options_parquet();

Erlaubnisse

Jeder Benutzer oder jede Rolle kann diese Funktion aufrufen.

Arguments

Rückgabetyp

jsonb

azure_storage.options_csv_get

Hilfsfunktion zum Decodieren des Inhalts einer CSV-Datei. Rufen Sie diese Funktion als Parameter in blob_get.

azure_storage.options_csv_get(delimiter text DEFAULT NULL::text, null_string text DEFAULT NULL::text, header boolean DEFAULT NULL::boolean, quote text DEFAULT NULL::text, escape text DEFAULT NULL::text, force_not_null text[] DEFAULT NULL::text[], force_null text[] DEFAULT NULL::text[], content_encoding text DEFAULT NULL::text);

Erlaubnisse

Jeder Benutzer oder jede Rolle kann diese Funktion aufrufen.

Arguments

Trennzeichen

text Das Zeichen, das Spalten innerhalb jeder Zeile (Zeile) der Datei trennt. Es muss ein einzelnes 1-Byte-Zeichen sein. Obwohl diese Funktion Trennzeichen einer beliebigen Anzahl von Zeichen unterstützt, gibt PostgreSQL einen COPY delimiter must be a single one-byte character Fehler zurück, wenn Sie versuchen, mehr als ein einzelnes 1-Byte-Zeichen zu verwenden.

null_string

text Die Zeichenfolge, die einen Nullwert darstellt. Der Standardwert ist \N (umgekehrter Schrägstrich-N) im Textformat und eine nicht angehaltene leere Zeichenfolge im CSV-Format. Möglicherweise bevorzugen Sie eine leere Zeichenfolge auch im Textformat für Fälle, in denen Sie keine Nullen von leeren Zeichenfolgen unterscheiden möchten.

Überschrift

boolean Flag, das angibt, ob die Datei eine Kopfzeile mit den Namen jeder Spalte in der Datei enthält. Bei der Ausgabe enthält die erste Zeile die Spaltennamen aus der Tabelle.

Angebot

text Das an zitierte Zeichen, das verwendet werden soll, wenn ein Datenwert zitiert wird. Der Standardwert ist doppeltes Anführungszeichen. Es muss ein einzelnes 1-Byte-Zeichen sein. Obwohl diese Funktion Trennzeichen einer beliebigen Anzahl von Zeichen unterstützt, gibt PostgreSQL einen COPY quote must be a single one-byte character Fehler zurück, wenn Sie versuchen, mehr als ein einzelnes 1-Byte-Zeichen zu verwenden.

Escape

text Das Zeichen, das vor einem Datenzeichen angezeigt werden soll, das dem QUOTE-Wert entspricht. Der Standardwert ist identisch mit dem QUOTE-Wert (sodass das Anführungszeichen verdoppelt wird, wenn es in den Daten angezeigt wird). Es muss ein einzelnes 1-Byte-Zeichen sein. Obwohl diese Funktion Trennzeichen einer beliebigen Anzahl von Zeichen unterstützt, gibt PostgreSQL einen COPY escape must be a single one-byte character Fehler zurück, wenn Sie versuchen, mehr als ein einzelnes 1-Byte-Zeichen zu verwenden.

force_not_null

text[] Stimmen Sie nicht mit den Werten der angegebenen Spalten mit der NULL-Zeichenfolge überein. In dem Standardfall, in dem die NULL-Zeichenfolge leer ist, bedeutet dies, dass leere Werte als leere Zeichenfolgen anstelle von Nullen gelesen werden, auch wenn sie nicht an zitiert werden.

force_null

text[] Stimmen Sie die Werte der angegebenen Spalten mit der NULL-Zeichenfolge überein, auch wenn sie in Anknullierung angegeben ist. Wenn eine Übereinstimmung gefunden wird, legen Sie den Wert auf NULL fest. In dem Standardfall, in dem die NULL-Zeichenfolge leer ist, konvertiert sie eine leere Zeichenfolge in NULL.

content_encoding

text Name der Codierung, mit der die Datei codiert ist. Wenn Sie diese Option weglassen, wird die aktuelle Clientcodierung verwendet.

Rückgabetyp

jsonb

azure_storage.options_tsv

Hilfsfunktion zum Decodieren des Inhalts einer TSV-Datei. Rufen Sie diese Funktion als Parameter in blob_get.

azure_storage.options_tsv(delimiter text DEFAULT NULL::text, null_string text DEFAULT NULL::text, content_encoding text DEFAULT NULL::text);

Erlaubnisse

Jeder Benutzer oder jede Rolle kann diese Funktion aufrufen.

Arguments

Trennzeichen

text Das Zeichen, das Spalten innerhalb jeder Zeile (Zeile) der Datei trennt. Es muss ein einzelnes 1-Byte-Zeichen sein. Obwohl diese Funktion Trennzeichen einer beliebigen Anzahl von Zeichen unterstützt, gibt PostgreSQL einen COPY delimiter must be a single one-byte character Fehler zurück, wenn Sie versuchen, mehr als ein einzelnes 1-Byte-Zeichen zu verwenden.

null_string

text Die Zeichenfolge, die einen Nullwert darstellt. Der Standardwert ist \N (umgekehrter Schrägstrich-N) im Textformat und eine nicht angehaltene leere Zeichenfolge im CSV-Format. Möglicherweise bevorzugen Sie eine leere Zeichenfolge auch im Textformat für Fälle, in denen Sie keine Nullen von leeren Zeichenfolgen unterscheiden möchten.

content_encoding

text Name der Codierung, mit der die Datei codiert ist. Wenn Sie diese Option weglassen, wird die aktuelle Clientcodierung verwendet.

Rückgabetyp

jsonb

azure_storage.options_binary

Hilfsfunktion, die Sie als Parameter aufrufen können.blob_get Sie hilft beim Decodieren des Inhalts einer Binärdatei.

azure_storage.options_binary(content_encoding text DEFAULT NULL::text);

Erlaubnisse

Jeder Benutzer oder jede Rolle kann diese Funktion aufrufen.

Arguments

content_encoding

text Name der Codierung, mit der die Datei codiert ist. Wenn Sie diese Option weglassen, wird die aktuelle Clientcodierung verwendet.

Rückgabetyp

jsonb