Share via


Öğ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.

Normalde dizin oluşturucu, Azure Key Vault'ta müşteri tarafından yönetilen şifreleme anahtarına erişimi olmadığından şifrelenmiş dosyalardan 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

Ö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.

  1. Sağlanan Resource Manager şablonunu Azure portalında açan DecryptBlobFile giriş sayfasında bulunan Azure'a Dağıt düğmesine tıklayın.

  2. Azure Key Vault örneğinizin bulunduğu aboneliği seçin (farklı bir abonelik seçerseniz bu öğretici çalışmaz).

  3. 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.

  4. 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.

    Azure portalında ARM şablonu sayfasının ekran görüntüsü.

  5. Dağıtımın bitmesini 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

  1. Portalda Azure Key Vault hizmetinize gidin. Azure Key Vault'ta özel beceriye anahtar erişimi veren bir erişim ilkesi oluşturun.

  2. 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.

    Sol gezinti bölmesindeki Erişim İlkesi komutunun ekran görüntüsü.

  3. Şablondan yapılandır'ın altındaki İzinler sayfasında Azure Data Lake Depolama veya Azure Depolama'ı seçin.

  4. İleri'yi seçin.

  5. 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.

  6. İleri'yi seçin.

  7. Gözden geçir ve oluştur'da Oluştur'u seçin.

Uygulama bilgilerini toplama

  1. Portalda psdbf-function-app işlevine gidin ve REST çağrıları için ihtiyacınız olan aşağıdaki özellikleri not edin:

  2. İşlev url'sini alın. Bu URL, işlevin ana sayfasındaki Temel Bileşenler bölümünde bulunabilir.

    Azure İşlevi uygulamasının genel bakış sayfasının ve Temel Parçalar bölümünün ekran görüntüsü.

  3. Uygulama anahtarları'na giderek, varsayılan anahtarı göstermek için tıklayarak ve değeri kopyalayarak bulunabilen konak anahtarı kodunu alın.

    Azure İşlevi uygulamasının Uygulama Anahtarları sayfasının ekran görüntüsü.

  1. 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.nethizmet adınız olacaktır mydemo.

  2. Ayarlar> Keys'te, 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.

    Hizmet adını, yönetici ve sorgu anahtarlarını alma

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ğlan ion dizesini 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.