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.
Bu makalede, Microsoft Entra ID geçişi kullanılarak dış tabloların nasıl oluşturulacağı açıklanmaktadır.
Önkoşullar
Bu eğitimi tamamlamak için aşağıdaki kaynaklar gereklidir:
- Azure Synapse Analytics çalışma alanı ve ayrılmış SQL havuzu
Microsoft Entra ID hesabına depolama hesabına erişim verin
Bu örnekte, kaynak verilerde kimlik doğrulaması yapmak için bir Microsoft Entra ID hesabı (veya grubu) kullanılır.
Azure Data Lake Storage (ADLS) 2. Nesil hesaplarında verilere erişimi etkinleştirmek için Microsoft Entra Id hesabınıza (veya grubunuza) kaynak hesaba erişim vermeniz gerekir. Uygun izinleri vermek için şu adımları izleyin:
- Azure portalında depolama hesabınızı bulun.
- Veri depolama -> seçin ve dış tablonun erişmesi gereken kaynak verilerin bulunduğu klasöre gidin.
- Erişim denetimi (IAM) öğesini seçin.
- Select Add -> Add role assignment.
- İş işlevi rolleri listesinde Depolama Blobu Veri Okuyucusu'na tıklayın ve İleri'ye tıklayın. If write permissions are needed, select Storage Blob Data Contributor.
- In the Add role assignment page, select + Select members. Üyeleri seç bölmesi sağ köşede açılır.
- İstediğiniz Microsoft Entra Id hesabının adını yazın. Görüntülendiğinde, istediğiniz hesabı seçin ve Seç'i seçin.
- Rol ataması Ekle sayfasında, Üyeler listesinde istediğiniz Microsoft Entra ID hesabının bulunduğundan emin olun. Once verified, select Review + assign.
- In the confirmation page, review the changes and select Review + assign.
Microsoft Entra Id hesabı veya grubu artık Depolama Blobu Veri Okuyucusu rolünün bir üyesidir ve kaynak klasöre erişebilir.
COPY INTO kullanarak veri alma
COPY INTO T-SQL deyimi, tablolarınıza esnek, yüksek aktarım hızına sahip veri alımı sağlar ve ayrılmış SQL havuzu tablolarınıza veri almak için birincil stratejidir. Kullanıcıların dış tablolar için gerekli olan ek veritabanı nesnelerinden herhangi birini oluşturmak zorunda kalmadan dış konumlardan veri almalarına olanak tanır.
COPY INTO deyimi, CREDENTIAL bağımsız değişkenini, kaynak hesaba bağlanmak için kullanılan kimlik doğrulama yöntemini belirtmek amacıyla kullanır. Ancak, Microsoft Entra Id kullanarak veya genel depolama hesabıyla kimlik doğrulaması yaparken belirtilmesi CREDENTIAL gerekmez.
COPY INTO deyimini Entra ID kimlik doğrulaması kullanarak çalıştırmak için aşağıdaki T-SQL komutunu kullanın.
COPY INTO <TableName>
FROM 'https://<AccountName>.dfs.core.windows.net/<Container>/<Folder>/ '
WITH
(
[<CopyIntoOptions>]
);
Nerede:
-
<TableName>, verileri alınacak tablonun adıdır. -
<AccountName>ADLS 2. Nesil hesabınızın adıdır. -
<Container>, kaynak verilerin depolandığı depolama hesabınızdaki kapsayıcının adıdır -
<Folder>, kaynak verilerin kapsayıcınızda depolandığı klasördür (veya alt klasörler içeren yoldur). Doğrudan tek bir dosyaya işaret ediyorsanız bir dosya adı da sağlayabilirsiniz. -
<CopyIntoOptions>deyimine sağlamak istediğiniz diğer seçeneklerin listesidirCOPY INTO.
Daha fazla bilgi edinmek ve söz diziminin tamamını keşfetmek için bkz . COPY INTO (Transact-SQL).
Dış tabloları kullanarak ADLS 2. Nesil'de verileri sorgulama
Dış tablolar, kullanıcıların verileri almak zorunda kalmadan Azure Data Lake Storage (ADLS) 2. Nesil hesaplarından veri sorgulamasına olanak tanır. Kullanıcılar, ADLS 2. Nesil kapsayıcısı üzerindeki dosyaları işaret eden bir dış tablo oluşturabilir ve bunu normal bir kullanıcı tablosu gibi sorgulayabilir.
Aşağıdaki adımlarda, Entra Id kimlik doğrulamasını kullanarak ADLS 2. Nesil'de verilere işaret eden yeni bir dış tablo oluşturma işlemi açıklanmaktadır.
Gerekli veritabanı nesnelerini oluşturma
Dış tablolar aşağıdaki nesnelerin oluşturulmasını gerektirir:
- Kaynak klasöre işaret eden bir dış veri kaynağı
- Kaynak dosyaların biçimini tanımlayan dış dosya biçimi
- Sorgular için kullanılan dış tablo tanımı
Bu adımları izlemek için Azure Synapse Çalışma Alanı'ndaki SQL düzenleyicisini veya ayrılmış SQL havuzunuza bağlı tercih ettiğiniz SQL istemcisini kullanmanız gerekir. Şimdi bu adımlara ayrıntılı olarak göz atalım.
Dış veri kaynağını oluşturma
Sonraki adım, dış tablo tarafından kullanılan kaynak verilerin nerede bulunduğunu belirten bir dış veri kaynağı oluşturmaktır.
Dış veri kaynağını oluşturmak için aşağıdaki T-SQL komutunu kullanın:
CREATE EXTERNAL DATA SOURCE <ExternalDataSourceName>
WITH (
TYPE = HADOOP,
LOCATION = 'abfss://<Container>@<AccountName>.dfs.core.windows.net/<Folder>/'
);
Nerede:
-
<ExternalDataSourceName>, dış veri kaynağınız için kullanmak istediğiniz addır. -
<AccountName>ADLS 2. Nesil hesabınızın adıdır. -
<Container>, kaynak verilerin depolandığı depolama hesabınızdaki kapsayıcının adıdır. -
<Folder>, kaynak verilerin kapsayıcınızda depolandığı klasördür (veya alt klasörler içeren yoldur).
Dış veri kaynakları hakkında daha fazla bilgi edinmek için bkz . CREATE EXTERNAL DATA SOURCE (Transact-SQL).
Dış dosya biçimini oluşturma
Sonraki adım, dış dosya biçimini oluşturmaktır. Dış tablo tarafından atıfta bulunulan verilerin gerçek düzenini belirtir.
Dış dosya biçimini oluşturmak için aşağıdaki T-SQL komutunu kullanın.
<FileFormatName> dış dosya formatınız için kullanmak istediğiniz adla değiştirin.
CREATE EXTERNAL FILE FORMAT <FileFormatName>
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (
FIELD_TERMINATOR = ',',
STRING_DELIMITER = '"',
FIRST_ROW = 2,
USE_TYPE_DEFAULT = True
)
);
Bu örnekte, kaynak verilerinize uygun olarak FIELD_TERMINATOR, STRING_DELIMITER, FIRST_ROW ve diğer parametreleri gerektiği gibi ayarlayın. Daha fazla biçimlendirme seçeneği ve daha fazla bilgi için bkz . CREATE EXTERNAL FILE FORMAT (Transact-SQL).
Dış tablo oluşturma
Artık dış verilere güvenli bir şekilde erişmek için meta verileri tutan gerekli nesneler oluşturulduğuna göre, artık dış tabloyu oluşturmanın zamanı geldi. Dış tabloyu oluşturmak için aşağıdaki T-SQL komutunu kullanın:
-- Adjust the table name and columns to your desired name and external table schema
CREATE EXTERNAL TABLE <ExternalTableName> (
Col1 INT,
Col2 NVARCHAR(100),
Col4 INT
)
WITH
(
LOCATION = '<Path>',
DATA_SOURCE = <ExternalDataSourceName>,
FILE_FORMAT = <FileFormatName>
);
Nerede:
-
<ExternalTableName>, dış tablonuz için kullanmak istediğiniz addır. -
<Path>, dış veri kaynağında belirtilen konuma göre kaynak verilerin yoludur. -
<ExternalDataSourceName>, oluşturduğunuz dış veri kaynağının adıdır. -
<FileFormatName>, oluşturduğunuz dış dosya biçiminin adıdır.
Tablo adını ve şemasını istenen ada ve kaynak dosyalarınızdaki verilerin şemasına ayarladığınızdan emin olun.
Query the external table
Bu noktada, dış tabloya erişmek için gereken tüm meta veriler oluşturulur. Dış tablonuzu test etmek için, çalışmanızı doğrulamak için aşağıdaki T-SQL örneği gibi bir sorgu kullanın:
SELECT TOP 10 Col1, Col2 FROM <ExternalTableName>;
Her şey düzgün yapılandırıldıysa, bu sorgunun bir sonucu olarak kaynak verilerinizden verileri görmeniz gerekir.
hakkında CREATE EXTERNAL TABLEdaha fazla bilgi için bkz . CREATE EXTERNAL TABLE (Transact-SQL).