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.
Tip
Microsoft Fabric Data Warehouse geleceğe hazır mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip data lake foundation üzerinde kurumsal ölçekli ilişkisel bir ambardır. Veri ambarı konusunda yeniyseniz Fabric Data Warehouse ile başlayın. Mevcut özel SQL havuzu iş yükleri, veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltilebilir.
Bu makalede, yönetilen kimlik kullanarak Azure Data Lake Storage (ADLS) 2. Nesil hesaplarından dış tablolar oluşturma veya veri alma işlemleri açıklanmaktadır.
Prerequisites
Bu eğitimi tamamlamak için aşağıdaki kaynaklar gereklidir:
- Azure Data Lake Storage (ADLS) 2. Nesil hesabı
- Azure Synapse Analytics çalışma alanı ve ayrılmış SQL havuzu
Depolama hesabına çalışma alanı kimliği erişimi verme
Her Azure Synapse Analytics çalışma alanı, çalışma alanınızdan dış verilere güvenli erişim yapılandırmanıza yardımcı olan bir yönetilen kimliği otomatik olarak oluşturur. Azure Synapse Analytics için yönetilen kimlikler hakkında daha fazla bilgi edinmek için Azure Synapse Analytics için Yönetilen hizmet kimliği sayfasını ziyaret edin.
Yönetilen kimliğinizin ADLS 2. Nesil hesaplarında verilere erişmesini sağlamak için, kimliğinize 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 -> Kapsayıcılar'ı seçin ve dış tablonun erişmesi gereken kaynak verilerin bulunduğu klasöre gidin.
- Erişim denetimi (IAM) öğesini seçin.
- Ekle -> Rol ataması ekle'yi seçin.
- İş tanımı rolleri listesinde Depolama Blob Veri Katkıcısı seçeneğini seçin ve Sonraki seçeneğine tıklayın.
- Rol ataması ekle sayfasında + Üye seç'i seçin. Üye seç bölmesi açılır.
- Çalışma alanı kimliğinizin adını yazın. Çalışma alanı kimliği, çalışma alanınızın adıyla aynıdır. Görüntülendiğinde çalışma alanı kimliğinizi ve ardından Seç'i seçin.
- Rol ataması ekle sayfasında Üyeler listesinin istediğiniz Microsoft Entra ID hesabını içerdiğinden emin olun. Doğrulandıktan sonra Gözden geçir ve ata seçin.
- Onay sayfasında değişiklikleri gözden geçirin ve Gözden Geçir + Ata seçin.
Çalışma alanı kimliğiniz artık Depolama Blob Verileri Katkıda Bulunanlar rolünün bir üyesidir ve kaynak klasörüne erişim hakkına sahiptir.
Note
Bu adımlar, genel erişimi kısıtlamak için yapılandırılan güvenli ADLS 2. Nesil hesapları için de geçerlidir. Depolama hesabınız güvenli bir ADLS 2. Nesil hesabıyla veya bir sanal ağ ile ilişkilendirilmişse, dış tablo veya COPY INTO komutu yönetilen kimlik kullanmalıdır. ADLS 2. Nesil hesabınızın güvenliğini sağlama hakkında daha fazla bilgi edinmek için bkz. Azure Depolama güvenlik duvarlarını ve sanal ağları yapılandırma.
COPY INTO kullanarak veri alma
T-SQL COPY INTO 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.
COPY INTO 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.
Kimlik doğrulaması için çalışma alanı yönetilen kimliği kullanarak COPY INTO deyimini ç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
(
CREDENTIAL = (IDENTITY = 'Managed Identity'),
[<CopyIntoOptions>]
);
Nerede:
- Verilerin yükleneceği tablonun adı
<TableName>'dir. -
<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>COPY INTO deyimine sağlamak istediğiniz diğer seçeneklerin listesidir.
Daha fazla bilgi edinmek ve COPY INTO'nun tam söz dizimini 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, kimlik doğrulaması için yönetilen kimlik 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:
- Veritabanı kapsamlı kimlik bilgilerinin sırlarını şifreleyen bir veritabanı ana anahtarı
- Çalışma alanı kimliğinizi kullanan veritabanı kapsamlı kimlik bilgileri
- 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 kullanın. Şimdi bu adımlara ayrıntılı olarak göz atalım.
Veritabanı ana anahtarını oluşturma
Veritabanı ana anahtarı, veritabanında bulunan sertifikaların ve asimetrik anahtarların özel anahtarlarını ve veritabanı kapsamlı kimlik bilgilerindeki gizli dizileri korumak için kullanılan bir simetrik anahtardır. Veritabanında zaten bir ana anahtar varsa, yeni bir anahtar oluşturmanız gerekmez. yerine güvenli bir parola yazın <Secure Password> . Bu parola, veritabanındaki ana anahtarı şifrelemek için kullanılır.
Ana anahtar oluşturmak için aşağıdaki T-SQL komutunu kullanın:
-- Replace <Secure Password> with a secure password
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Secure Password>';
Veritabanı ana anahtarı hakkında daha fazla bilgi edinmek için bkz. CREATE MASTER KEY (Transact-SQL).
Veritabanı kapsamlı kimlik bilgisi oluştur
Veritabanı kapsamlı kimlik bilgisi, çalışma alanı kimliğinizden yararlanır ve dış tablonun kaynak verilere erişmesi gerektiği zaman dış konuma erişmek için gereklidir.
Veritabanı kapsamlı kimlik bilgilerini oluşturmak için aşağıdaki komutu kullanın.
<CredentialName> öğesini veritabanı yetkilendirme bilgileri için kullanmak istediğiniz adla değiştirin.
CREATE DATABASE SCOPED CREDENTIAL <CredentialName> WITH IDENTITY = 'Managed Service Identity';
Veritabanı kapsamlı kimlik bilgileri hakkında daha fazla bilgi edinmek için bkz. CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
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>/',
CREDENTIAL = <CredentialName>
);
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). Doğrudan tek bir dosyaya işaret ediyorsanız bir dosya adı da sağlayabilirsiniz. -
<Credential>, daha önce oluşturduğunuz veritabanı kapsamlı kimlik bilgilerinin adıdır.
Dış veri kaynakları hakkında daha fazla bilgi edinmek için bkz. DIŞ VERİ KAYNAĞI (Transact-SQL).
Dış dosya biçimini oluşturma
Sonraki adım, dış dosya biçimini oluşturmaktır. Dış tablo tarafından başvurulan verilerin gerçek düzenini belirtir.
Dış dosya biçimini oluşturmak için aşağıdaki T-SQL komutunu kullanın.
<FileFormatName> öğesini dış dosya biçiminiz 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 gerekli diğer parametreleri gerektiği şekilde ayarlayın. Daha fazla biçimlendirme seçeneği ve hakkında EXTERNAL FILE FORMATdaha fazla bilgi edinmek için bkz. EXTERNAL FILE FORMAT OLUŞTURMA.
Dış tabloyu oluşturma
Artık dış verilere güvenli bir şekilde erişmek için meta verileri tutan tüm 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>, daha önce oluşturduğunuz dış veri kaynağının adıdır. -
<FileFormatName>, daha önce 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.
Dış tabloyu sorgulama
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.
Daha fazla bilgi edinmek ve CREATE EXTERNAL TABLE tam söz dizimini keşfetmek için bkz. CREATE EXTERNAL TABLE (Transact-SQL).