Megosztás a következőn keresztül:


pg_azure_storage bővítmény

Fontos

Az Azure Cosmos DB for PostgreSQL már nem támogatott új projektek esetén. Ne használja ezt a szolgáltatást új projektekhez. Ehelyett használja az alábbi két szolgáltatás egyikét:

  • Az Azure Cosmos DB for NoSQL használata nagy léptékű forgatókönyvekhez tervezett elosztott adatbázis-megoldáshoz 99,999% rendelkezésre állási szolgáltatásiszint-szerződéssel (SLA), azonnali automatikus skálázással és automatikus feladatátvétellel több régióban.

  • Használja az Azure Database For PostgreSQL Rugalmas fürtök funkcióját a megosztott PostgreSQL-hez a nyílt forráskódú Citus-bővítmény használatával.

A pg_azure_storage bővítmény lehetővé teszi az adatok több fájlformátumban való betöltését közvetlenül az Azure Blob Storage-ból az Azure Cosmos DB for PostgreSQL-fürtbe. A bővítmény engedélyezése a COPY parancs új funkcióit is feloldja. A "Privát" vagy "Blob" hozzáférési szintű tárolókhoz magánelérési kulcs szükséges.

A bővítményt a következő futtatásával hozhatja létre:

SELECT create_extension('azure_storage');

azure_storage.account_add

A függvény lehetővé teszi a tárfiókhoz való hozzáférést.

azure_storage.account_add
        (account_name_p text
        ,account_key_p text);

Argumentumok

account_name_p

Egy Azure Blob Storage-fiók (ABS) az összes ABS-objektumot tartalmazza: blobokat, fájlokat, üzenetsorokat és táblákat. A tárfiók egyedi névteret biztosít az ABS számára, amely a világ bármely pontjáról elérhető HTTPS-en keresztül.

account_key_p

Az Azure Blob Storage (ABS) hozzáférési kulcsai hasonlóak a tárfiók gyökérjelszójához. Mindig ügyeljen a hozzáférési kulcsok védelmére. Az Azure Key Vault használatával biztonságosan kezelheti és elforgathatja a kulcsokat. A fiókkulcs egy olyan táblában van tárolva, amely elérhető a postgres-felügyelő, azure_storage_admin és minden olyan szerepkör számára, amely rendszergazdai engedélyekkel rendelkezik. Annak megtekintéséhez, hogy mely tárfiókok léteznek, használja a account_list függvényt.

azure_storage.account_remove

A függvény lehetővé teszi a fiók hozzáférésének visszavonását a tárfiókhoz.

azure_storage.account_remove
        (account_name_p text);

Argumentumok

account_name_p

Az Azure Blob Storage-fiók (ABS) az összes ABS-objektumot tartalmazza: blobokat, fájlokat, üzenetsorokat és táblákat. A tárfiók egyedi névteret biztosít az ABS számára, amely a világ bármely pontjáról elérhető HTTPS-en keresztül.

azure_storage.account_user_add

A függvény lehetővé teszi egy szerepkör hozzáférésének hozzáadását egy tárfiókhoz.

azure_storage.account_user_add
        ( account_name_p text
        , user_p regrole);

Argumentumok

account_name_p

Egy Azure Blob Storage-fiók (ABS) az összes ABS-objektumot tartalmazza: blobokat, fájlokat, üzenetsorokat és táblákat. A tárfiók egyedi névteret biztosít az ABS számára, amely a világ bármely pontjáról elérhető HTTPS-en keresztül.

user_p

A fürtön látható felhasználó által létrehozott szerepkör.

Feljegyzés

account_user_add,account_add,account_remove, aaccount_user_remove függvényekhez a fürt egyes csomópontjaihoz engedélyeket kell beállítani.

azure_storage.account_user_remove

A függvény lehetővé teszi egy szerepkör hozzáférésének eltávolítását egy tárfiókhoz.

azure_storage.account_user_remove
        (account_name_p text
        ,user_p regrole);

Argumentumok

account_name_p

Egy Azure Blob Storage-fiók (ABS) az összes ABS-objektumot tartalmazza: blobokat, fájlokat, üzenetsorokat és táblákat. A tárfiók egyedi névteret biztosít az ABS számára, amely a világ bármely pontjáról elérhető HTTPS-en keresztül.

user_p

A fürtön látható felhasználó által létrehozott szerepkör.

azure_storage.account_list

A függvény felsorolja az Azure Blob Storage-hoz hozzáféréssel rendelkező fiók > szerepkört.

azure_storage.account_list
        (OUT account_name text
        ,OUT allowed_users regrole[]
        )
Returns TABLE;

Argumentumok

account_name

Az Azure Blob Storage-fiók (ABS) az összes ABS-objektumot tartalmazza: blobokat, fájlokat, üzenetsorokat és táblákat. A tárfiók egyedi névteret biztosít az ABS számára, amely a világ bármely pontjáról elérhető HTTPS-en keresztül.

allowed_users

Az Azure Blob Storage-hoz hozzáféréssel rendelkező felhasználók listája.

Visszatérési típus

TÁBLÁZAT

azure_storage.blob_list

A függvény felsorolja a felhasználói tárolóban elérhető blobfájlokat a tulajdonságaikkal.

azure_storage.blob_list
        (account_name text
        ,container_name text
        ,prefix text DEFAULT ''::text
        ,OUT path text
        ,OUT bytes bigint
        ,OUT last_modified timestamp with time zone
        ,OUT etag text
        ,OUT content_type text
        ,OUT content_encoding text
        ,OUT content_hash text
        )
Returns SETOF record;

Argumentumok

account_name

Ez storage account name egyedi névteret biztosít az Azure Storage-adatokhoz, amelyek a világ bármely pontjáról elérhetők HTTPS-en keresztül.

container_name

A tárolók blobokat rendszereznek a fájlrendszerek mappáihoz hasonlóan. Egy tárfiók korlátlan számú tárolót tartalmazhat, egy tároló pedig korlátlan számú blob tárolására használható. A tárolónévnek érvényes DNS-névnek kell lennie, mivel a tároló vagy a blobok kezeléséhez használt egyedi URI részét képezi. Tároló elnevezésekor kövesse az alábbi szabályokat:

  • A tárolónevek hossza 3 és 63 karakter között lehet.
  • A tárolóneveknek betűvel vagy számmal kell kezdődniük, és csak kisbetűket, számokat és kötőjelet (-) tartalmazhatnak.
  • Két vagy több egymást követő szaggatott karakter nem engedélyezett a tárolónevekben.

A tároló URI-ja a következőhöz hasonló: https://myaccount.blob.core.windows.net/mycontainer

előképző

Egyező sztring monogrammal rendelkező blobtárolóból származó fájlt ad vissza.

elérési út

Az Azure Blob Directory teljes minősített elérési útja.

bájt

A fájlobjektum mérete bájtban.

last_modified

Mikor módosították utoljára a fájl tartalmát.

etag

Az ETag tulajdonság optimista egyidejűséget biztosít a frissítések során. Ez nem időbélyeg, mivel van egy másik timestamp nevű tulajdonság, amely a rekord legutóbbi frissítésének időpontját tárolja. Ha például betölt egy entitást, és frissíteni szeretné azt, az ETag-nek meg kell egyeznie a jelenleg tároltval. A megfelelő ETag beállítása azért fontos, mert ha több felhasználó szerkeszti ugyanazt az elemet, nem szeretné, hogy felülírják egymás módosításait.

content_type

A Blob objektum egy blobot jelöl, amely nem módosítható, nyers adatok fájlszerű objektuma. Ezek olvashatók szövegként vagy bináris adatként, vagy átalakíthatók olvasható adatfolyammá, hogy azok metódusai felhasználhatók legyenek az adatok feldolgozására. A blobok olyan adatokat jelölhetnek, amelyek nem feltétlenül JavaScript-natív formátumban jelennek meg.

content_encoding

Az Azure Storage lehetővé teszi a Content-Encoding tulajdonság definiálására egy blobon. Tömörített tartalom esetén beállíthatja, hogy a tulajdonság GZIP legyen. Amikor a böngésző hozzáfér a tartalomhoz, az automatikusan kibontja a tartalmat.

content_hash

Ez a kivonat a blob integritásának ellenőrzésére szolgál az átvitel során. Ha ez a fejléc meg van adva, a tárolási szolgáltatás ellenőrzi az elküldött kivonatot. Ha a két kivonat nem egyezik, a művelet 400-es hibakóddal (hibás kérelem) meghiúsul.

Visszatérési típus

SETOF rekord

Feljegyzés

Az engedélyek most már listázhatók a tárolók privát és blobhozzáférési szintjei, de csak a számára biztosított szerepkörkéntcitus userazure_storage_admin. Ha új felhasználót hoz létre, supportalapértelmezés szerint nem férhet hozzá a tároló tartalmához.

azure_storage.blob_get

A függvény lehetővé teszi a fájl \ fájlok tartalmának betöltését a tárolóból, és további támogatást nyújt az adatok szűréséhez vagy kezeléséhez az importálás előtt.

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
        )
RETURNS SETOF record;

A függvény egy túlterhelt verziója, amely rec paramétert tartalmaz, amely lehetővé teszi a kimeneti formátumrekord kényelmes definiálását.

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
        )
RETURNS SETOF anyelement;

Argumentumok

fiók

A tárfiók egyedi névteret biztosít az Azure Storage-adatokhoz, amelyek a világ bármely pontjáról elérhetők HTTPS-en keresztül.

tároló

A tárolók blobokat rendszereznek a fájlrendszerek mappáihoz hasonlóan. Egy tárfiók korlátlan számú tárolót tartalmazhat, egy tároló pedig korlátlan számú blob tárolására használható. A tárolónévnek érvényes DNS-névnek kell lennie, mivel a tároló vagy a blobok kezeléséhez használt egyedi URI részét képezi.

elérési út

A tárolóban meglévő blobnév.

Rec

Adja meg a rekord kimeneti struktúráját.

Dekóder

Adja meg, hogy a blobformátum-dekóder beállítható automatikus (alapértelmezett) értékre, vagy az alábbi értékek bármelyikére

dekóder leírása

Formátum Leírás
csv A PostgreSQL COPY által használt vesszővel tagolt értékek formátuma
tsv Tabulátorral tagolt értékek, az alapértelmezett PostgreSQL COPY formátum
bináris Bináris PostgreSQL COPY formátum
SMS Egyetlen szöveges értéket (például nagy JSON-t vagy XML-t) tartalmazó fájl

tömörítés

Meghatározza a tömörítési formátumot. Az elérhető lehetőségek: auto> gzipnone . A beállítás (alapértelmezett) használata auto a fájlkiterjesztés (.gz == gzip) alapján határozza meg a tömörítést. A beállítás none arra kényszeríti, hogy figyelmen kívül hagyja a bővítményt, és ne próbálja meg dekódolni. Míg a gzip kényszeríti a gzip dekóder használatát (ha nem szabványos kiterjesztésű, gzipped fájllal rendelkezik). Jelenleg nem támogatunk más tömörítési formátumokat a bővítményhez.

beállítások

Az egyéni fejlécek, egyéni elválasztók, escape karakterek stb. options kezelésére a PostgreSQL parancsához COPY hasonlóan működik, a paraméter blob_get függvényt használ.

Visszatérési típus

SETOF rekord / anyelement

Feljegyzés

A blob_get négy segédprogramfüggvényt nevezünk paraméternek, amelyek segítenek az értékek létrehozásában. Az egyes segédprogramfüggvények a dekóder nevével egyezőként lesznek kijelölve.

azure_storage.options_csv_get

A függvény a blob_get belül paraméterként ismert segédprogramfüggvényként működik, amely hasznos a csv-tartalom dekódolására.

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
        )
Returns jsonb;

Argumentumok

elválasztó karakter

Megadja azt a karaktert, amely a fájl minden sorában (sorában) elválasztja az oszlopokat. Az alapértelmezett érték egy szövegformátumú tabulátor karakter, egy CSV formátumú vessző. Egyetlen egy bájtos karakternek kell lennie.

null_string

A null értéket képviselő sztringet adja meg. Az alapértelmezett érték a \N (fordított perjel-N) szövegformátumban, és egy nem kvótált üres sztring CSV formátumban. Az üres sztringeket még szöveges formátumban is előnyben részesítheti olyan esetekben, amikor nem szeretné megkülönböztetni a null értékeket az üres sztringektől.

Megadja, hogy a fájl tartalmaz-e fejlécsort a fájl egyes oszlopainak nevével. Kimeneten az első sor tartalmazza a tábla oszlopneveit.

árajánlat

Az adatértékek idézésekor használandó idézőjelet adja meg. Az alapértelmezett érték a dupla idézőjel. Egyetlen egy bájtos karakternek kell lennie.

menekülés

Megadja azt a karaktert, amely az IDÉZŐJEL értéknek megfelelő adat karakter előtt jelenik meg. Az alapértelmezett érték megegyezik az IDÉZŐJEL értékével (így az idéző karakter megduplázódik, ha az adatokban megjelenik). Egyetlen egy bájtos karakternek kell lennie.

force_not_null

Ne egyezzen a megadott oszlopok értékeinek a null sztringgel. Az alapértelmezett esetben, ahol a null sztring üres, az azt jelenti, hogy az üres értékek null érték helyett nulla hosszúságú sztringekként lesznek beolvasva, még akkor is, ha nincsenek idézve.

force_null

Egyezzen a megadott oszlopok értékeivel a null sztringgel, még akkor is, ha idézték, és ha talál egyezést, állítsa az értéket NULL értékre. Abban az alapértelmezett esetben, amikor a null sztring üres, az idézett üres sztringet NULL értékre konvertálja.

content_encoding

Megadja, hogy a fájl kódolva legyen a encoding_name. Ha a beállítás nincs megadva, a rendszer az aktuális ügyfélkódolást használja.

Visszatérési típus

jsonb

azure_storage.options_copy

A függvény a blob_get belül paraméterként nevezett segédprogramfüggvényként működik.

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
        )
Returns jsonb;

Argumentumok

elválasztó karakter

Megadja azt a karaktert, amely a fájl minden sorában (sorában) elválasztja az oszlopokat. Az alapértelmezett érték egy szövegformátumú tabulátor karakter, egy CSV formátumú vessző. Egyetlen egy bájtos karakternek kell lennie.

null_string

A null értéket képviselő sztringet adja meg. Az alapértelmezett érték a \N (fordított perjel-N) szövegformátumban, és egy nem kvótált üres sztring CSV formátumban. Az üres sztringeket még szöveges formátumban is előnyben részesítheti olyan esetekben, amikor nem szeretné megkülönböztetni a null értékeket az üres sztringektől.

fejléc

Megadja, hogy a fájl tartalmaz-e fejlécsort a fájl egyes oszlopainak nevével. Kimeneten az első sor tartalmazza a tábla oszlopneveit.

árajánlat

Az adatértékek idézésekor használandó idézőjelet adja meg. Az alapértelmezett érték a dupla idézőjel. Egyetlen egy bájtos karakternek kell lennie.

menekülés

Megadja azt a karaktert, amely az IDÉZŐJEL értéknek megfelelő adat karakter előtt jelenik meg. Az alapértelmezett érték megegyezik az IDÉZŐJEL értékével (így az idéző karakter megduplázódik, ha az adatokban megjelenik). Egyetlen egy bájtos karakternek kell lennie.

force_quote

Az egyes megadott oszlopokban az összes nem NULL értékhez használandó idézőerők. A NULL kimenet soha nem lesz idézve. Ha * van megadva, a nem NULL értékeket a rendszer az összes oszlopban idézi.

force_not_null

Ne egyezzen a megadott oszlopok értékeinek a null sztringgel. Az alapértelmezett esetben, ahol a null sztring üres, az azt jelenti, hogy az üres értékek null érték helyett nulla hosszúságú sztringekként lesznek beolvasva, még akkor is, ha nincsenek idézve.

force_null

Egyezzen a megadott oszlopok értékeivel a null sztringgel, még akkor is, ha idézték, és ha talál egyezést, állítsa az értéket NULL értékre. Abban az alapértelmezett esetben, amikor a null sztring üres, az idézett üres sztringet NULL értékre konvertálja.

content_encoding

Megadja, hogy a fájl kódolva legyen a encoding_name. Ha a beállítás nincs megadva, a rendszer az aktuális ügyfélkódolást használja.

Visszatérési típus

jsonb

azure_storage.options_tsv

A függvény a blob_get belül paraméterként nevezett segédprogramfüggvényként működik. Hasznos a tsv-tartalom dekódolására.

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

Argumentumok

elválasztó karakter

Megadja azt a karaktert, amely a fájl minden sorában (sorában) elválasztja az oszlopokat. Az alapértelmezett érték egy szövegformátumú tabulátor karakter, egy CSV formátumú vessző. Egyetlen egy bájtos karakternek kell lennie.

null_string

A null értéket képviselő sztringet adja meg. Az alapértelmezett érték a \N (fordított perjel-N) szövegformátumban, és egy nem kvótált üres sztring CSV formátumban. Az üres sztringeket még szöveges formátumban is előnyben részesítheti olyan esetekben, amikor nem szeretné megkülönböztetni a null értékeket az üres sztringektől.

content_encoding

Megadja, hogy a fájl kódolva legyen a encoding_name. Ha a beállítás nincs megadva, a rendszer az aktuális ügyfélkódolást használja.

Visszatérési típus

jsonb

azure_storage.options_binary

A függvény a blob_get belül paraméterként nevezett segédprogramfüggvényként működik. Hasznos a bináris tartalom dekódolására.

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

Argumentumok

content_encoding

Megadja, hogy a fájl kódolva legyen a encoding_name. Ha ez a beállítás nincs megadva, a rendszer az aktuális ügyfélkódolást használja.

Visszatérési típus

jsonb

Feljegyzés

Az engedélyek most már listázhatók a tárolók privát és blobhozzáférési szintjei, de csak a számára biztosított szerepkörkéntcitus userazure_storage_admin. Ha új, támogatott felhasználót hoz létre, alapértelmezés szerint nem férhet hozzá a tároló tartalmához.

Példák

A használt példák az Azure Storage-mintafiókot (pgquickstart) használják fel a különböző használati esetek lefedettségéhez való hozzáadáshoz feltöltött egyéni fájlokkal. Először is létrehozhatunk egy táblázatot, amelyet a használt példán keresztül használunk.

CREATE TABLE IF NOT EXISTS public.events
        (
         event_id bigint
        ,event_type text
        ,event_public boolean
        ,repo_id bigint
        ,payload jsonb
        ,repo jsonb
        ,user_id bigint
        ,org jsonb
        ,created_at timestamp without time zone
        );

Tárfiók hozzáférési kulcsának hozzáadása (hozzáférési szint esetén kötelező = privát)

A példa bemutatja a tárfiók hozzáférési kulcsának hozzáadását, hogy hozzáférést kapjon a lekérdezéshez az Azure Cosmos DB for Postgres-fürt egy munkamenetéből.

SELECT azure_storage.account_add('pgquickstart', 'SECRET_ACCESS_KEY');

Tipp.

A tárfiókban nyissa meg az Access-kulcsokat. Másolja ki a Tárfiók nevét, és másolja a kulcsot az 1. kulcs szakaszból (először a Megjelenítés gombot kell választania a kulcs mellett).

Képernyőkép az Azure PortalOn található Azure Blob Storage-lap Biztonság és hálózatkezelés > hozzáférési kulcsok szakaszáról.

Tárfiók hozzáférési kulcsának eltávolítása

A példa egy tárfiók hozzáférési kulcsának eltávolítását szemlélteti. Ez a művelet a tárolóban lévő privát gyűjtőben tárolt fájlokhoz való hozzáférést vonná maga után.

SELECT azure_storage.account_remove('pgquickstart');

Szerepkörhöz való hozzáférés hozzáadása az Azure Blob Storage-hoz

SELECT * FROM azure_storage.account_user_add('pgquickstart', 'support');

Az Azure Blob Storage-ban hozzáféréssel rendelkező összes szerepkör listázása

SELECT * FROM azure_storage.account_list();

Szerepkörök eltávolítása hozzáféréssel az Azure Blob Storage-ban

SELECT * FROM azure_storage.account_user_remove('pgquickstart', 'support');

Tárolón belüli objektumok listázása public

SELECT * FROM azure_storage.blob_list('pgquickstart','publiccontainer');

Tárolón belüli objektumok listázása private

SELECT * FROM azure_storage.blob_list('pgquickstart','privatecontainer');

Feljegyzés

A hozzáférési kulcs hozzáadása kötelező.

Az objektumok listázása meghatározott sztring monogramokkal a nyilvános tárolóban

SELECT * FROM azure_storage.blob_list('pgquickstart','publiccontainer','e');

Vagylagosan

SELECT * FROM azure_storage.blob_list('pgquickstart','publiccontainer') WHERE path LIKE 'e%';

Tartalom beolvasása egy tárolóban lévő objektumból

A blob_get függvény lekéri a fájlt a Blob Storage-ból. Annak érdekében, hogy blob_get tudja, hogyan elemezheti az adatokat, átadhat egy értéket (NULL::table_name), amelynek formátuma megegyezik a fájléval.

SELECT * FROM azure_storage.blob_get
        ('pgquickstart'
        ,'publiccontainer'
        ,'events.csv.gz'
        , NULL::events)
LIMIT 5;

Másik lehetőségként explicit módon definiálhatjuk a záradék oszlopait FROM .

SELECT * FROM azure_storage.blob_get('pgquickstart','publiccontainer','events.csv')
AS res (
         event_id BIGINT
        ,event_type TEXT
        ,event_public BOOLEAN
        ,repo_id BIGINT
        ,payload JSONB
        ,repo JSONB
        ,user_id BIGINT
        ,org JSONB
        ,created_at TIMESTAMP WITHOUT TIME ZONE)
LIMIT 5;

Dekóder használata

A példa a beállítás használatát szemlélteti decoder . A formátum általában a fájl kiterjesztéséből következik, de ha a fájl tartalma nem rendelkezik egyező kiterjesztéssel, a dekóder argumentumot is átadhatja.

SELECT * FROM azure_storage.blob_get
        ('pgquickstart'
        ,'publiccontainer'
        ,'events'
        , NULL::events
        , decoder := 'csv')
LIMIT 5;

Tömörítés használata dekóderrel

A példa bemutatja, hogyan kényszeríthető ki a gzip-tömörítés használata egy gzip-tömörített fájlon szabványos .gz kiterjesztés nélkül.

SELECT * FROM azure_storage.blob_get
        ('pgquickstart'
        ,'publiccontainer'
        ,'events-compressed'
        , NULL::events
        , decoder := 'csv'
        , compression := 'gzip')
LIMIT 5;

Szűrt tartalom importálása > módosítás a csv formátumobjektumból való betöltés előtt

A példa bemutatja, hogy a tárolóban lévő objektumból importált tartalmat szűrheti és módosíthatja, mielőtt betöltené azt egy SQL-táblába.

SELECT concat('P-',event_id::text) FROM azure_storage.blob_get
        ('pgquickstart'
        ,'publiccontainer'
        ,'events.csv'
        , NULL::events)
WHERE event_type='PushEvent'
LIMIT 5;

Tartalom lekérdezése a fájlból fejlécekkel, egyéni elválasztókkal, feloldó karakterekkel

Egyéni elválasztókat és feloldó karaktereket használhat az argumentum eredményének azure_storage.options_copyoptions átadásával.

SELECT * FROM azure_storage.blob_get
        ('pgquickstart'
        ,'publiccontainer'
        ,'events_pipe.csv'
        ,NULL::events
        ,options := azure_storage.options_csv_get(delimiter := '|' , header := 'true')
        );

Összesítő lekérdezés egy objektum tartalmáról a tárolóban

Így importálás nélkül is lekérdezheti az adatokat.

SELECT event_type,COUNT(1) FROM azure_storage.blob_get
        ('pgquickstart'
        ,'publiccontainer'
        ,'events.csv'
        , NULL::events)
GROUP BY event_type
ORDER BY 2 DESC
LIMIT 5;

Következő lépések