Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
PostgreSQL için Azure Cosmos DB artık yeni projeler için desteklenmemektedir. Bu hizmeti yeni projeler için kullanmayın. Bunun yerine, şu iki hizmetlerden birini kullanın:
99,999% kullanılabilirlik hizmet düzeyi sözleşmesi (SLA), anında otomatik ölçeklendirme ve birden çok bölgede otomatik yük devretme ile yüksek ölçekli senaryolar için tasarlanmış dağıtılmış bir veritabanı çözümü için NoSQL için Azure Cosmos DB kullanın.
Açık kaynak Citus uzantısını kullanarak parçalanmış PostgreSQL için PostgreSQL için Azure Veritabanı'nın Elastik Kümeler özelliğini kullanın.
pg_azure_storage uzantısı, birden çok dosya biçimindeki verileri doğrudan Azure blob depolamadan PostgreSQL için Azure Cosmos DB kümenize yüklemenize olanak tanır. Uzantının etkinleştirilmesi COPY komutunun yeni özelliklerinin de kilidini açar. Erişim düzeyi "Özel" veya "Blob" olan kapsayıcılar için özel erişim anahtarı eklenmesi gerekir.
Uzantıyı aşağıdakini çalıştırarak oluşturabilirsiniz:
SELECT create_extension('azure_storage');
azure_storage.account_add
İşlev, depolama hesabına erişim eklemeye olanak tanır.
azure_storage.account_add
(account_name_p text
,account_key_p text);
Bağımsız değişkenler
account_name_p
Azure blob depolama (ABS) hesabı tüm ABS nesnelerinizi içerir: bloblar, dosyalar, kuyruklar ve tablolar. Depolama hesabı, ABS'niz için https üzerinden dünyanın her yerinden erişilebilen benzersiz bir ad alanı sağlar.
account_key_p
Azure blob depolama (ABS) erişim anahtarlarınız, depolama hesabınızın kök parolasına benzer. Erişim anahtarlarınızı korumak için her zaman dikkatli olun. Anahtarlarınızı güvenli bir şekilde yönetmek ve döndürmek için Azure Key Vault'ı kullanın. Hesap anahtarı postgres süper kullanıcısı tarafından erişilebilen bir tabloda depolanır azure_storage_admin ve bu yönetici izinleri verilen tüm roller. Hangi depolama hesaplarının mevcut olduğunu görmek için account_list işlevini kullanın.
azure_storage.account_remove
İşlev, depolama hesabına hesap erişiminin iptal edilmesini sağlar.
azure_storage.account_remove
(account_name_p text);
Bağımsız değişkenler
account_name_p
Azure blob depolama (ABS) hesabı tüm ABS nesnelerinizi içerir: bloblar, dosyalar, kuyruklar ve tablolar. Depolama hesabı, ABS'niz için https üzerinden dünyanın her yerinden erişilebilen benzersiz bir ad alanı sağlar.
azure_storage.account_user_add
işlevi, bir rol için depolama hesabına erişim eklemeye olanak tanır.
azure_storage.account_user_add
( account_name_p text
, user_p regrole);
Bağımsız değişkenler
account_name_p
Azure blob depolama (ABS) hesabı tüm ABS nesnelerinizi içerir: bloblar, dosyalar, kuyruklar ve tablolar. Depolama hesabı, ABS'niz için https üzerinden dünyanın her yerinden erişilebilen benzersiz bir ad alanı sağlar.
user_p
Kullanıcı tarafından oluşturulan rol kümede görünür.
Not
account_user_add,account_add,account_remove, işlevleri içinaccount_user_remove kümedeki her bir düğüm için izinlerin ayarlanması gerekir.
azure_storage.account_user_remove
işlevi, bir rolün depolama hesabına erişimini kaldırmaya olanak tanır.
azure_storage.account_user_remove
(account_name_p text
,user_p regrole);
Bağımsız değişkenler
account_name_p
Azure blob depolama (ABS) hesabı tüm ABS nesnelerinizi içerir: bloblar, dosyalar, kuyruklar ve tablolar. Depolama hesabı, ABS'niz için https üzerinden dünyanın her yerinden erişilebilen benzersiz bir ad alanı sağlar.
user_p
Kullanıcı tarafından oluşturulan rol kümede görünür.
azure_storage.account_list
işlevi, Azure blob depolamaya erişimi olan hesabı ve rolü listeler.
azure_storage.account_list
(OUT account_name text
,OUT allowed_users regrole[]
)
Returns TABLE;
Bağımsız değişkenler
account_name
Azure blob depolama (ABS) hesabı tüm ABS nesnelerinizi içerir: bloblar, dosyalar, kuyruklar ve tablolar. Depolama hesabı, ABS'niz için https üzerinden dünyanın her yerinden erişilebilen benzersiz bir ad alanı sağlar.
allowed_users
Azure blob depolamaya erişimi olan kullanıcıları listeler.
Dönüş türü
TABLO
azure_storage.blob_list
işlevi, bir kullanıcı kapsayıcısı içindeki kullanılabilir blob dosyalarını özellikleriyle listeler.
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;
Bağımsız değişkenler
account_name
, storage account name Azure depolama verileriniz için https üzerinden dünyanın her yerinden erişilebilen benzersiz bir ad alanı sağlar.
container_name
Bir kapsayıcı, bir grup blob'u bir dosya sistemindeki bir dizine benzer şekilde düzenler. Depolama hesabında sınırsız sayıda kapsayıcı olabilir ve her kapsayıcı sınırsız sayıda blob depolayabilir. Kapsayıcı adı, kapsayıcıyı veya bloblarını ele almak için kullanılan benzersiz URI'nin bir parçasını oluşturacağı için geçerli bir DNS adı olmalıdır. Kapsayıcıyı adlandırırken şu kuralları izleyin:
- Kapsayıcı adları 3 ila 63 karakter uzunluğunda olabilir.
- Kapsayıcı adları bir harf veya sayı ile başlamalıdır ve yalnızca küçük harf, sayı ve tire (-) karakteri içerebilir.
- Kapsayıcı adlarında ardışık iki veya daha fazla tire karakterine izin verilmez.
Kapsayıcının URI'si şuna benzer: https://myaccount.blob.core.windows.net/mycontainer
önek
Blob kapsayıcısından eşleşen dize baş harfleriyle dosya döndürür.
yol
Azure blob dizininin tam yolu.
bayt
Dosya nesnesinin bayt cinsinden boyutu.
last_modified
Dosya içeriği en son ne zaman değiştirildi?
etag
Güncelleştirmeler sırasında iyimser eşzamanlılık için bir ETag özelliği kullanılır. Bir kaydın en son güncelleştirildiği zamanı depolayan Timestamp adlı başka bir özellik olduğundan bu bir zaman damgası değildir. Örneğin, bir varlığı yükler ve güncelleştirmek isterseniz, ETag'in şu anda depolanmış olanla eşleşmesi gerekir. Aynı öğeyi düzenleyen birden çok kullanıcınız varsa, onların birbirlerinin değişikliklerinin üzerine yazılmasını istemediğinizden, uygun ETag'in ayarlanması önemlidir.
content_type
Blob nesnesi, sabit, ham verilerin dosya benzeri bir nesnesi olan bir blobu temsil eder. Bunlar metin veya ikili veri olarak okunabilir veya readableStream'e dönüştürülebilir, böylece yöntemleri verileri işlemek için kullanılabilir. Bloblar, JavaScript yerel biçiminde olması gerekmeyecek verileri temsil edebilir.
content_encoding
Azure Depolama, blob üzerinde content-encoding özelliği tanımlamanızı sağlar. Sıkıştırılmış içerik için özelliğini GZIP olarak ayarlayabilirsiniz. Tarayıcı içeriğe eriştiğinde, içeriği otomatik olarak açar.
content_hash
Bu karma, aktarım sırasında blobun bütünlüğünü doğrulamak için kullanılır. Bu üst bilgi belirtildiğinde, depolama hizmeti gönderilen karma ile gelen karmayı denetler. İki karma eşleşmezse, işlem 400 (Hatalı İstek) hata koduyla başarısız olur.
Dönüş türü
SETOF kaydı
Not
İzinler Artık bu depolama için Özel ve Blob erişim düzeylerine ayarlanmış kapsayıcıları listeleyebilirsiniz, ancak yalnızca citus userrolü kendisine verilmiş olan azure_storage_admin olarak listeleyebilirsiniz. adlı supportyeni bir kullanıcı oluşturursanız, kapsayıcı içeriğine varsayılan olarak erişmesine izin verilmez.
azure_storage.blob_get
işlevi, içeri aktarma işleminden önce verilerin filtrelenmesi veya değiştirilmesi konusunda ek destekle birlikte kapsayıcı içinden dosya \ dosyalarının içeriğinin yüklenmesine olanak tanır.
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;
İşlevin, çıkış biçimi kaydını rahatça tanımlamanızı sağlayan rec parametresini içeren aşırı yüklenmiş bir sürümü vardır.
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;
Bağımsız değişkenler
account
Depolama hesabı, Azure Depolama verileriniz için dünyanın her yerinden HTTPS üzerinden erişilebilen benzersiz bir ad alanı sağlar.
kapsayıcı
Bir kapsayıcı, bir grup blob'u bir dosya sistemindeki bir dizine benzer şekilde düzenler. Depolama hesabında sınırsız sayıda kapsayıcı olabilir ve her kapsayıcı sınırsız sayıda blob depolayabilir. Kapsayıcı adı, kapsayıcıyı veya bloblarını ele almak için kullanılan benzersiz URI'nin bir parçasını oluşturacağı için geçerli bir DNS adı olmalıdır.
yol
Kapsayıcıda var olan blob adı.
Rec
Kayıt çıkış yapısını tanımlayın.
Kod çözücü
Kod Çözücü'ün otomatik (varsayılan) veya aşağıdaki değerlerden herhangi birine ayarlanabileceği blob biçimini belirtin
kod çözücü açıklaması
| Biçim | Açıklama |
|---|---|
| csv | PostgreSQL COPY tarafından kullanılan virgülle ayrılmış değerler biçimi |
| tsv | Sekmeyle ayrılmış değerler, varsayılan PostgreSQL COPY biçimi |
| ikili | İkili PostgreSQL COPY biçimi |
| text | Tek bir metin değeri içeren bir dosya (örneğin, büyük JSON veya XML) |
sıkıştırma
Sıkıştırma biçimini tanımlar. Kullanılabilir seçenekler şunlardır: auto, gzip & none. seçeneğinin auto kullanılması (varsayılan), dosya uzantısına (.gz == gzip) göre sıkıştırmayı tahmin eder. seçeneği none uzantıyı yoksaymaya zorlar ve kodu çözmeyi denemez. gzip, gzip kod çözücüsü kullanmaya zorlarken (standart olmayan bir uzantıya sahip bir gzipped dosyanız olduğunda için). Şu anda uzantı için başka sıkıştırma biçimlerini desteklemiyoruz.
seçenekler
Özel üst bilgileri, özel ayırıcıları, kaçış karakterlerini vb. işlemek için PostgreSQL'deki options komuta benzer şekilde COPY çalışır, parametre işlevi blob_get için kullanılır.
Dönüş türü
SETOF Kaydı / anyelement
Not
blob_get içinde parametre olarak adlandırılan ve değer oluşturmaya yardımcı olan dört yardımcı program işlevi vardır. Her yardımcı program işlevi, adıyla eşleşen kod çözücü için belirlenir.
azure_storage.options_csv_get
işlevi, csv içeriğinin kodunu çözmek için yararlı olan blob_get içinde parametre olarak adlandırılan bir yardımcı program işlevi işlevi görür.
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;
Bağımsız değişkenler
sınırlayıcı
Dosyanın her satırı (satırı) içindeki sütunları ayıran karakteri belirtir. Varsayılan değer, metin biçiminde bir sekme karakteri, CSV biçiminde virgüldür. Tek bir baytlık karakter olmalıdır.
null_string
Null değeri temsil eden dizeyi belirtir. Varsayılan değer, metin biçiminde \N (ters eğik çizgi-N) ve CSV biçiminde tırnak içinde olmayan boş bir dizedir. Boş dizeleri boş dizelerden ayırmak istemediğiniz durumlarda metin biçiminde bile boş dizeyi tercih edebilirsiniz.
üst bilgi
Dosyanın, dosyadaki her sütunun adlarını içeren bir üst bilgi satırı içerdiğini belirtir. Çıktıda, ilk satır tablodaki sütun adlarını içerir.
alıntı
Bir veri değeri alıntılandığında kullanılacak alıntı karakterini belirtir. Varsayılan değer çift tırnaktır. Tek bir baytlık karakter olmalıdır.
escape
QUOTE değeriyle eşleşen bir veri karakterinden önce görünmesi gereken karakteri belirtir. Varsayılan değer, QUOTE değeriyle aynıdır (böylece alıntılama karakteri verilerde görünürse iki katına çıkar). Tek bir baytlık karakter olmalıdır.
force_not_null
Belirtilen sütunların değerlerini null dizeyle eşleştirin. Null dizenin boş olduğu varsayılan durumda, boş değerlerin tırnak içinde yer almadığında bile null yerine sıfır uzunluklu dizeler olarak okunduğu anlamına gelir.
force_null
Belirtilen sütunların değerlerini, tırnak içinde belirtilmiş olsa bile null dizeyle eşleştirin ve eşleşme bulunsa bile değeri NULL olarak ayarlayın. Null dizenin boş olduğu varsayılan durumda, tırnak içine alınmış boş bir dizeyi NULL'a dönüştürür.
content_encoding
Dosyanın encoding_name kodlandığını belirtir. Seçenek atlanırsa geçerli istemci kodlaması kullanılır.
Dönüş türü
jsonb
azure_storage.options_copy
işlevi, blob_get içinde parametre olarak adlandırılan bir yardımcı program işlevi işlevi görür.
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;
Bağımsız değişkenler
sınırlayıcı
Dosyanın her satırı (satırı) içindeki sütunları ayıran karakteri belirtir. Varsayılan değer, metin biçiminde bir sekme karakteri, CSV biçiminde virgüldür. Tek bir baytlık karakter olmalıdır.
null_string
Null değeri temsil eden dizeyi belirtir. Varsayılan değer, metin biçiminde \N (ters eğik çizgi-N) ve CSV biçiminde tırnak içinde olmayan boş bir dizedir. Boş dizeleri boş dizelerden ayırmak istemediğiniz durumlarda metin biçiminde bile boş dizeyi tercih edebilirsiniz.
üst bilgi
Dosyanın, dosyadaki her sütunun adlarını içeren bir üst bilgi satırı içerdiğini belirtir. Çıktıda, ilk satır tablodaki sütun adlarını içerir.
alıntı
Bir veri değeri alıntılandığında kullanılacak alıntı karakterini belirtir. Varsayılan değer çift tırnaktır. Tek bir baytlık karakter olmalıdır.
escape
QUOTE değeriyle eşleşen bir veri karakterinden önce görünmesi gereken karakteri belirtir. Varsayılan değer, QUOTE değeriyle aynıdır (böylece alıntılama karakteri verilerde görünürse iki katına çıkar). Tek bir baytlık karakter olmalıdır.
force_quote
Belirtilen her sütundaki null olmayan tüm değerler için alıntı yapmaya zorlar. NULL çıkış hiçbir zaman tırnak içinde değildir. * belirtilirse, null olmayan değerler tüm sütunlarda tırnak içine alınır.
force_not_null
Belirtilen sütunların değerlerini null dizeyle eşleştirin. Null dizenin boş olduğu varsayılan durumda, boş değerlerin tırnak içinde yer almadığında bile null yerine sıfır uzunluklu dizeler olarak okunduğu anlamına gelir.
force_null
Belirtilen sütunların değerlerini, tırnak içinde belirtilmiş olsa bile null dizeyle eşleştirin ve eşleşme bulunsa bile değeri NULL olarak ayarlayın. Null dizenin boş olduğu varsayılan durumda, tırnak içine alınmış boş bir dizeyi NULL'a dönüştürür.
content_encoding
Dosyanın encoding_name kodlandığını belirtir. Seçenek atlanırsa geçerli istemci kodlaması kullanılır.
Dönüş türü
jsonb
azure_storage.options_tsv
işlevi, blob_get içinde parametre olarak adlandırılan bir yardımcı program işlevi işlevi görür. Tsv içeriğinin kodunu çözmek için kullanışlıdır.
azure_storage.options_tsv
(delimiter text DEFAULT NULL::text
,null_string text DEFAULT NULL::text
,content_encoding text DEFAULT NULL::text
)
Returns jsonb;
Bağımsız değişkenler
sınırlayıcı
Dosyanın her satırı (satırı) içindeki sütunları ayıran karakteri belirtir. Varsayılan değer, metin biçiminde bir sekme karakteri, CSV biçiminde virgüldür. Tek bir baytlık karakter olmalıdır.
null_string
Null değeri temsil eden dizeyi belirtir. Varsayılan değer, metin biçiminde \N (ters eğik çizgi-N) ve CSV biçiminde tırnak içinde olmayan boş bir dizedir. Boş dizeleri boş dizelerden ayırmak istemediğiniz durumlarda metin biçiminde bile boş dizeyi tercih edebilirsiniz.
content_encoding
Dosyanın encoding_name kodlandığını belirtir. Seçenek atlanırsa geçerli istemci kodlaması kullanılır.
Dönüş türü
jsonb
azure_storage.options_binary
işlevi, blob_get içinde parametre olarak adlandırılan bir yardımcı program işlevi işlevi görür. İkili içeriğin kodunu çözmek için kullanışlıdır.
azure_storage.options_binary
(content_encoding text DEFAULT NULL::text)
Returns jsonb;
Bağımsız değişkenler
content_encoding
Dosyanın encoding_name kodlandığını belirtir. Bu seçenek atlanırsa, geçerli istemci kodlaması kullanılır.
Dönüş Türü
jsonb
Not
İzinler Artık bu depolama için Özel ve Blob erişim düzeylerine ayarlanmış kapsayıcıları listeleyebilirsiniz, ancak yalnızca citus userrolü kendisine verilmiş olan azure_storage_admin olarak listeleyebilirsiniz. Destek adlı yeni bir kullanıcı oluşturursanız kapsayıcı içeriğine varsayılan olarak erişmesine izin verilmez.
Örnekler
Kullanılan örnekler, farklı kullanım örneklerinin kapsamına eklemek için karşıya yüklenen özel dosyalarla örnek Azure depolama hesabını (pgquickstart) kullanır. Kullanılan örnek kümesinde kullanılan tabloyu oluşturarak başlayabiliriz.
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
);
Depolama hesabının erişim anahtarını ekleme (erişim düzeyi için zorunlu = özel)
Örnek, Postgres için Azure Cosmos DB kümesindeki bir oturumdan sorgulamaya erişim elde etmek için depolama hesabına erişim anahtarı eklemeyi gösterir.
SELECT azure_storage.account_add('pgquickstart', 'SECRET_ACCESS_KEY');
İpucu
Depolama hesabınızda Erişim anahtarları'nı açın. Depolama hesabı adını kopyalayın ve key1 bölümünden Anahtarı kopyalayın (önce anahtarın yanındaki Göster'i seçmeniz gerekir).
Depolama hesabının erişim anahtarını kaldırma
Örnekte bir depolama hesabının erişim anahtarının kaldırılması gösterilmektedir. Bu eylem, kapsayıcıdaki özel demette barındırılan dosyalara erişimin kaldırılmasına neden olur.
SELECT azure_storage.account_remove('pgquickstart');
Azure Blob depolamaya rol erişimi ekleme
SELECT * FROM azure_storage.account_user_add('pgquickstart', 'support');
Azure Blob depolamada erişimi olan tüm rolleri listeleme
SELECT * FROM azure_storage.account_list();
Azure Blob depolamada erişime sahip rolleri kaldırma
SELECT * FROM azure_storage.account_user_remove('pgquickstart', 'support');
Kapsayıcı içindeki public nesneleri listeleme
SELECT * FROM azure_storage.blob_list('pgquickstart','publiccontainer');
Kapsayıcı içindeki private nesneleri listeleme
SELECT * FROM azure_storage.blob_list('pgquickstart','privatecontainer');
Not
Erişim anahtarı eklemek zorunludur.
Nesneleri genel kapsayıcı içinde belirli dize baş harfleriyle listeleme
SELECT * FROM azure_storage.blob_list('pgquickstart','publiccontainer','e');
Alternatif olarak
SELECT * FROM azure_storage.blob_list('pgquickstart','publiccontainer') WHERE path LIKE 'e%';
Kapsayıcıdaki bir nesneden içerik okuma
blob_get işlevi blob depolamadan bir dosya alır. blob_get verilerin nasıl ayrıştırıldığını bilmesi için dosyayla aynı biçime sahip bir değer (NULL::table_name) geçirebilirsiniz.
SELECT * FROM azure_storage.blob_get
('pgquickstart'
,'publiccontainer'
,'events.csv.gz'
, NULL::events)
LIMIT 5;
Alternatif olarak, yan tümcesindeki FROM sütunları açıkça tanımlayabiliriz.
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;
Kod çözücü seçeneğini kullanma
Örnekte seçeneğin kullanımı gösterilmektedir decoder . Normalde biçim, dosyanın uzantısından çıkarılır, ancak dosya içeriğinin eşleşen bir uzantısı olmadığında kod çözücü bağımsız değişkenini geçirebilirsiniz.
SELECT * FROM azure_storage.blob_get
('pgquickstart'
,'publiccontainer'
,'events'
, NULL::events
, decoder := 'csv')
LIMIT 5;
Kod çözücü seçeneğiyle sıkıştırmayı kullanma
Örnek, standart bir .gz uzantısı olmadan gzip sıkıştırılmış bir dosyada gzip sıkıştırmasını kullanmayı zorlamayı gösterir.
SELECT * FROM azure_storage.blob_get
('pgquickstart'
,'publiccontainer'
,'events-compressed'
, NULL::events
, decoder := 'csv'
, compression := 'gzip')
LIMIT 5;
Filtrelenmiş içeriği içeri aktar & csv biçimindeki nesneden yüklemeden önce değiştir
Örnekte, kapsayıcıdaki nesneden içeri aktarılan içeriği SQL tablosuna yüklemeden önce filtreleme ve değiştirme olanağı gösterilmektedir.
SELECT concat('P-',event_id::text) FROM azure_storage.blob_get
('pgquickstart'
,'publiccontainer'
,'events.csv'
, NULL::events)
WHERE event_type='PushEvent'
LIMIT 5;
Üst bilgiler, özel ayırıcılar, kaçış karakterleri içeren dosyadan içerik sorgulama
sonucunu bağımsız değişkene geçirerek azure_storage.options_copyoptions özel ayırıcılar ve kaçış karakterleri kullanabilirsiniz.
SELECT * FROM azure_storage.blob_get
('pgquickstart'
,'publiccontainer'
,'events_pipe.csv'
,NULL::events
,options := azure_storage.options_csv_get(delimiter := '|' , header := 'true')
);
Kapsayıcıdaki bir nesnenin içeriğinde toplama sorgusu
Bu şekilde verileri içeri aktarmadan sorgulayabilirsiniz.
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;