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.
Uygulamanızın idare ve erişim denetimiyle Unity Kataloğu'nda depolanan verileri sorgulayıp değiştirebilmesi için Unity Kataloğu tablolarını Databricks Uygulamaları kaynakları olarak ekleyin. Unity Kataloğu tabloları ayrıntılı izinlerle yapılandırılmış veri depolama alanı sağlar, böylece uygulamanız kimlik bilgilerini sabit kodlamadan güvenli bir şekilde okuyup yazabilir.
Yetki gereksinimleri
Unity Kataloğu tablosuna erişmek için uygulamanın hizmet sorumlusunun üst katalogda USE CATALOG ayrıcalığına, üst şemada USE SCHEMA ayrıcalığına ve tabloda SELECT veya MODIFY ayrıcalığına sahip olması gerekir. Tablo kaynağını eklediğinizde, Azure Databricks uygulamanın hizmet sorumlusuna otomatik olarak bu ayrıcalıkları verir.
Bu otomatik verme işleminin başarılı olması için her ayrıcalık için aşağıdakilerden birinin geçerli olması gerekir:
-
İçin
USE CATALOG: Ya tüm hesap kullanıcılarının katalog üzerindeUSE CATALOGayrıcalıkları vardır ya da sizin katalog üzerindeMANAGEayrıcalığınız vardır. -
için
USE SCHEMA: Ya tüm hesap kullanıcılarının şema üzerindeUSE SCHEMAyetkisi vardır, ya da sizin şema üzerindeMANAGEyetkiniz vardır. -
SELECTveyaMODIFYiçin: Ya tüm hesap kullanıcıları tablodaSELECTveyaMODIFYayrıcalığına sahiptir ya da siz tablodaMANAGEayrıcalığına sahipsiniz.
Bkz Unity Kataloğu ayrıcalıkları referansı.
Unity Kataloğu tablo kaynağı ekleme
Tabloyu kaynak olarak eklemeden önce uygulama kaynağı önkoşullarını gözden geçirin.
- Uygulama oluştururken veya düzenlerken Uygulama kaynakları bölümünde + Kaynak >ekle'yetıklayın.
- Çalışma alanınızdaki kullanılabilir tablolardan bir Unity Kataloğu tablosu seçin. Tablo Unity Kataloğu'nda zaten mevcut olmalıdır.
- Uygulamanız için uygun izin düzeyini seçin:
- Seçin: Uygulamaya tablodaki verileri sorgulama ve okuma izni verir. Bu, yalnızca verileri okuması gereken uygulamalar için uygundur.
-
Değiştirmek: Uygulamaya tabloya veri ekleme, güncelleştirme ve silme izni verir. Bu izin örtük olarak içerir
SELECT, böylece uygulama verileri de okuyabilir.
- (İsteğe bağlı) Uygulama yapılandırmanızda tabloya nasıl başvuracağınız için özel bir kaynak anahtarı belirtin. Varsayılan anahtardır
table.
Uyarı
MODIFY tüm tablo türleri için kullanılamaz. Örneğin, görünümler MODIFY ayrıcalığını desteklemez. Tablo MODIFYdesteklemiyorsa yalnızca SELECT kullanılabilir.
Ortam değişkenleri
Unity Kataloğu tablo kaynağıyla bir uygulama dağıttığınızda Azure Databricks, valueFrom alanını kullanarak başvurabileceğiniz ortam değişkenleri aracılığıyla tablonun tam üç düzeyli adını kullanıma sunar.
Örnek yapılandırma:
env:
- name: UC_TABLE_NAME
valueFrom: table # Use your custom resource key if different
Uygulamanızda tabloyu kullanma:
import os
from databricks.sdk import WorkspaceClient
# Access the table name
table_name = os.getenv("UC_TABLE_NAME")
# Initialize workspace client
w = WorkspaceClient()
# Query the table using a SQL warehouse resource
result = w.statement_execution.execute_statement(
warehouse_id=os.getenv("DATABRICKS_WAREHOUSE_ID"), # Requires a SQL warehouse resource
statement=f"SELECT * FROM {table_name} LIMIT 10"
)
Daha fazla bilgi için bkz. Kaynaklara erişmek için ortam değişkenlerini kullanma.
Unity Kataloğu tablo kaynağını kaldırma
Bir uygulamadan Unity Kataloğu tablo kaynağını kaldırdığınızda, uygulamanın hizmet prensibi tablodaki SELECT, MODIFY ve ALL PRIVILEGES yetkilerini kaybeder. Azure Databricks ayrıca hiyerarşik katalog ve şema izinlerini iptal etmeye çalışır. Tablonun kendisi değişmeden kalır ve uygun izinlere sahip diğer kullanıcılar ve uygulamalar için kullanılabilir olmaya devam eder.
En iyi yöntemler
Unity Kataloğu tablo kaynaklarıyla çalışırken aşağıdakileri göz önünde bulundurun:
- En düşük izinleri verin. Uygulamanızın tabloya veri yazması gerekmediği sürece kullanın
SELECT. - Uygulamanızın tabloda SQL sorguları çalıştırması gerektiğinde tablo kaynaklarını sql ambarı kaynağıyla birleştirin.
- En düşük ayrıcalık ilkesini uygulayabilmeniz için, geniş şema düzeyinde erişim vermek yerine farklı tablolar için ayrı tablo kaynakları kullanın.
- Yapılandırılmamış veriler için Unity Kataloğu birimlerini ve yapılandırılmış veriler için Unity Kataloğu tablolarını kullanmayı göz önünde bulundurun.