Öğretici: Azure AI Search'te tam metin araması için şifrelenmiş blobları dizine alma ve zenginleştirme
Bu öğreticide, daha önce Azure Blob Depolama'de müşteri tarafından yönetilen bir anahtarla şifrelenmiş belgeleri dizine almak için Azure AI Search'in nasıl kullanılacağı gösterilmektedir.
Dizin oluşturucunun Azure Key Vault'ta müşteri tarafından yönetilen şifreleme anahtarına erişimi olmadığından, dizin oluşturucu normalde Azure Blob Depolama istemci kitaplığının istemci tarafı şifrelemesi kullanılarak şifrelenmiş bloblardan içerik ayıklayamaz. Ancak, DecryptBlobFile özel becerisini ve ardından Belge Ayıklama becerisini kullanarak, dosyaların şifresini çözmek ve sonra onlardan içerik ayıklamak için anahtara denetimli erişim sağlayabilirsiniz. Bu, depolanan belgelerinizin şifreleme durumundan ödün vermeden bu belgeleri dizine alma ve zenginleştirme olanağı sağlar.
Azure Blob Depolama'de PDF, HTML, DOCX ve PPTX gibi daha önce şifrelenmiş tüm belgelerden (yapılandırılmamış metin) başlayarak, bu öğreticide aşağıdaki görevleri gerçekleştirmek için rest istemcisi ve Search REST API'leri kullanılır:
- Belgelerin şifresini çözen ve onlardan metin ayıklayan bir işlem hattı tanımlayın.
- Çıkışı depolamak için bir dizin tanımlayın.
- Dizini oluşturmak ve yüklemek için işlem hattını yürütür.
- Tam metin araması ve zengin bir sorgu söz dizimi kullanarak sonuçları keşfedin.
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap açın.
Önkoşullar
Azure Depolama, Standart performans (genel amaçlı v2)
Bloblar müşteri tarafından yönetilen bir anahtarla şifrelenir. Örnek veriler oluşturmanız gerekiyorsa bkz . Öğretici: Azure Key Vault kullanarak blobları şifreleme ve şifresini çözme.
Azure Key Vault , Azure AI Search ile aynı abonelikte yer alır. Anahtar kasasında geçici silme ve temizleme koruması etkinleştirilmelidir.
Özel beceri dağıtımı bir Azure İşlevi uygulaması ve bir Azure Depolama hesabı oluşturur. Bu kaynaklar sizin için oluşturulduğundan önkoşul olarak listelenmez. Bu öğreticiyi tamamladığınızda, kullanmadığınız hizmetler için faturalandırılmamanız için kaynakları temizlemeyi unutmayın.
Not
Beceri kümeleri genellikle bir Azure AI çok hizmetli kaynak eklemeyi gerektirir. Belirtildiği gibi, bu beceri kümesinin Azure yapay zeka hizmetlerine bağımlılığı yoktur ve bu nedenle anahtar gerekmez. Daha sonra yerleşik becerileri çağıran zenginleştirmeler eklerseniz beceri kümesinizi uygun şekilde güncelleştirmeyi unutmayın.
1 - Hizmet oluşturma ve kimlik bilgilerini toplama
Özel beceriyi dağıtma
Bu örnekte Azure Search Power Skills GitHub deposundaki örnek DecryptBlobFile projesi kullanılmaktadır. Bu bölümde beceri kümesinin kullanılabilmesi için beceriyi bir Azure İşlevi'ne dağıtacaksınız. Yerleşik dağıtım betiği, psdbf-function-app ile başlayan adlı bir Azure İşlevi kaynağı oluşturur ve beceriyi yükler. Bir abonelik ve kaynak grubu sağlamanız istenir. Azure Key Vault örneğinizin yaşadığı aboneliği seçtiğinizden emin olun.
DecryptBlobFile becerisi, giriş olarak her blob için URL ve SAS belirtecini alır ve Azure AI Search'in beklediği dosya başvuru sözleşmesini kullanarak indirilen, şifresi çözülmüş dosyayı çıkarır. DecryptBlobFile'ın şifre çözme işlemini gerçekleştirmek için şifreleme anahtarına ihtiyacı olduğunu hatırlayın. Kurulumun bir parçası olarak, Azure Key Vault'taki şifreleme anahtarına DecryptBlobFile işlevi erişimi veren bir erişim ilkesi de oluşturacaksınız.
Sağlanan Resource Manager şablonunu Azure portalında açan DecryptBlobFile giriş sayfasında bulunan Azure'a Dağıt düğmesine tıklayın.
Azure Key Vault örneğinizin bulunduğu aboneliği seçin (farklı bir abonelik seçerseniz bu öğretici çalışmaz).
Mevcut bir kaynak grubunu seçin ya da yeni bir tane oluşturun. Ayrılmış bir kaynak grubu daha sonra temizlemeyi kolaylaştırır.
Gözden geçir ve oluştur'u seçin, koşulları kabul ettiğinizden emin olun ve ardından Oluştur'u seçerek Azure İşlevi'ni dağıtın.
Dağıtım işleminin tamamlanmasını bekleyin.
Şifre çözme mantığını içeren bir Azure İşlevi uygulamanız ve uygulama verilerini depolayacak bir Azure Depolama kaynağınız olmalıdır. Sonraki birkaç adımda uygulamaya anahtar kasasına erişme ve REST çağrıları için ihtiyacınız olan bilgileri toplama izinleri vereceksiniz.
Azure Key Vault'ta izinler verme
Portalda Azure Key Vault hizmetinize gidin. Azure Key Vault'ta özel beceriye anahtar erişimi veren bir erişim ilkesi oluşturun.
Sol gezinti bölmesinde Erişim ilkeleri'ni ve ardından + Oluştur'u seçerek Erişim ilkesi oluşturma sihirbazını başlatın.
şablondan yapılandır'ın altındaki İzinler sayfasında Azure Data Lake Storage veya Azure Depolama'yı seçin.
İleri'yi seçin.
Sorumlu sayfasında dağıttığınız Azure İşlevi örneğini seçin. Psdbf-function-app varsayılan ön ek değerine sahip olan 2. adımda oluşturmak için kullanılan kaynak ön ekini kullanarak bunu arayabilirsiniz.
İleri'yi seçin.
Gözden geçir ve oluştur'da Oluştur'u seçin.
Uygulama bilgilerini toplama
Portalda psdbf-function-app işlevine gidin ve REST çağrıları için ihtiyacınız olan aşağıdaki özellikleri not edin:
İşlev url'sini alın. Bu URL, işlevin ana sayfasındaki Temel Bileşenler bölümünde bulunabilir.
Uygulama anahtarları'na giderek, varsayılan anahtarı göstermek için tıklayarak ve değeri kopyalayarak bulunabilen konak anahtarı kodunu alın.
Azure AI Search için yönetici api anahtarı ve URL'si alma
Azure portalında oturum açın ve arama hizmetine Genel Bakış sayfanızda arama hizmetinizin adını alın. Uç nokta URL'sini gözden geçirerek hizmet adınızı onaylayabilirsiniz. Uç nokta URL'niz ise
https://mydemo.search.windows.net
hizmet adınız olacaktırmydemo
.Ayarlar>Anahtarları'nda, hizmet üzerinde tam haklar için bir yönetici anahtarı alın. Bir tane yuvarlamanız gerektiğinde iş sürekliliği için sağlanan iki değiştirilebilir yönetici anahtarı vardır. Nesneleri ekleme, değiştirme ve silme isteklerinde birincil veya ikincil anahtarı kullanabilirsiniz.
Tüm istekler, hizmetinize gönderilen her isteğin üst bilgisinde bir api anahtarı gerektirir. Geçerli bir anahtar, isteği gönderen uygulama ile bunu işleyen hizmet arasında istek temelinde güven oluşturur.
REST istemcisi ayarlama
Uç noktalar ve anahtarlar için değişkenler oluşturun:
Değişken | Nereden edinilir: |
---|---|
admin-key |
Azure AI Arama hizmeti Anahtarlar sayfasında. |
search-service-name |
Azure AI Arama hizmeti adı. URL'si şeklindedir https://{{search-service-name}}.search.windows.net . |
storage-connection-string |
Depolama hesabındaki Erişim Anahtarları sekmesinde key1>Bağlantı dizesi'ni seçin. |
storage-container-name |
Dizine eklenecek şifrelenmiş dosyaların yer aldığı blob kapsayıcısının adı. |
function-uri |
Ana sayfadaki Temel Parçalar'ın altındaki Azure İşlevi'nde. |
function-code |
Azure İşlevi'nde, Uygulama anahtarları'na gidip varsayılan anahtarı göstermek için tıklayıp değeri kopyalayın. |
api-version |
2020-06-30 olarak ayrıl. |
datasource-name |
Encrypted-blobs-ds olarak bırakın. |
index-name |
encrypted-blobs-idx olarak bırakın. |
skillset-name |
Şifrelenmiş bloblar olarak bırakın. |
indexer-name |
Encrypted-blobs-ixr olarak bırakın. |
Her isteği gözden geçirme ve çalıştırma
Zenginleştirme işlem hattının nesnelerini oluşturmak için HTTP isteklerini kullanın:
Dizini oluşturmak için PUT isteği: Bu arama dizini, Azure AI Search'in kullandığı ve döndürdüğü verileri barındırıyor.
Veri kaynağını oluşturmak için POST isteği: Bu veri kaynağı, şifrelenmiş blob dosyalarını içeren depolama hesabınızla bağlantıyı belirtir.
Beceri kümesini oluşturmak için PUT isteği: Beceri kümesi, blob dosya verilerinin şifresini çözecek Azure İşlevi için özel beceri tanımını ve şifresi çözüldükten sonra her belgeden metin ayıklamak için bir DocumentExtractionSkill belirtir.
Dizin oluşturucu oluşturmak için PUT isteği: Dizin oluşturucunun çalıştırılması blobları alır, beceri kümesini uygular ve sonuçları dizinler ve depolar. Bu isteği en son çalıştırmanız gerekir. Beceri kümesindeki özel beceri şifre çözme mantığını çağırır.
Dizin oluşturmayı izleme
Dizin oluşturucu oluşturma isteğini gönderdiğiniz anda dizin oluşturma ve zenginleştirme başlar. Depolama hesabınızda kaç belge bulunduğuna bağlı olarak dizin oluşturma biraz zaman alabilir. Dizin oluşturucunun hala çalışıp çalışmadığını öğrenmek için bir Dizin Oluşturucu Durumu Al isteği gönderin ve dizin oluşturucunun çalışıp çalışmadığını öğrenmek veya hata ve uyarı bilgilerini görüntülemek için yanıtı gözden geçirin.
Ücretsiz katmanını kullanıyorsanız şu ileti beklenir: "Could not extract content or metadata from your document. Truncated extracted text to '32768' characters"
. Bu ileti, Ücretsiz katmanında blob dizin oluşturmanın karakter ayıklamada 32.000 sınırı olduğundan görüntülenir. Bu veri kümesi için bu iletiyi daha yüksek katmanlarda görmezsiniz.
İçeriğinizi arama
Dizin oluşturucu yürütmesi tamamlandıktan sonra, verilerin şifresinin başarıyla çözüldüğünü ve dizine alınmış olduğunu doğrulamak için bazı sorgular çalıştırabilirsiniz. Portalda Azure AI Arama hizmeti gidin ve dizine alınan veriler üzerinde sorgu çalıştırmak için arama gezginini kullanın.
Kaynakları temizleme
Kendi aboneliğinizde çalışırken, bir projenin sonunda artık ihtiyacınız olmayan kaynakları kaldırmak iyi bir fikirdir. Çalışır durumda bırakılan kaynaklar maliyetlerin artmasına neden olabilir. Kaynakları teker teker silebilir veya tüm kaynak grubunu silerek kaynak kümesinin tamamını kaldırabilirsiniz.
Sol gezinti bölmesindeki Tüm kaynaklar veya Kaynak grupları bağlantısını kullanarak kaynakları portalda bulabilir ve yönetebilirsiniz.
Sonraki adımlar
Artık şifrelenmiş dosyaları başarıyla dizine eklediğinize göre, daha fazla bilişsel beceri ekleyerek bu işlem hattında yineleme yapabilirsiniz. Bu, verilerinizi zenginleştirmenize ve verilerinize yönelik ek içgörüler elde etmenize olanak sağlar.
Iki kez şifrelenmiş verilerle çalışıyorsanız Azure AI Search'te kullanılabilen dizin şifreleme özelliklerini araştırmak isteyebilirsiniz. Dizin oluşturucunun dizin oluşturma amacıyla şifresi çözülmüş verilere ihtiyacı olsa da, dizin mevcut olduğunda müşteri tarafından yönetilen bir anahtar kullanılarak arama dizininde şifrelenebilir. Bu, bekleyen verilerinizin her zaman şifrelenmesini sağlar. Daha fazla bilgi için bkz . Azure AI Search'te veri şifrelemesi için müşteri tarafından yönetilen anahtarları yapılandırma.