Aracılığıyla paylaş


Veri paylaşımını denetleme ve izleme

Bu makalede veri sağlayıcılarının ve alıcıların Delta Sharing olaylarını izlemek için denetim günlüklerini nasıl kullanabileceği açıklanmaktadır. Sağlayıcı denetim günlükleri, sağlayıcı tarafından yapılan eylemleri ve sağlayıcının paylaşılan verilerinde alıcılar tarafından yapılan eylemleri kaydeder. Alıcı denetim günlükleri, paylaşımlara erişme ve sağlayıcı nesnelerinin yönetimiyle ilgili olayları kaydeder.

Delta Sharing denetim günlüğü olaylarının listesini görüntülemek için bkz . Delta Sharing olayları.

Gereksinimler

Denetim günlüklerine erişmek için hesap yöneticisinin Azure Databricks hesabınız için denetim günlüğü sistem tablosunu etkinleştirmesi gerekir. Bkz. Sistem tablolarını etkinleştirme. Denetim günlüğü sistemi tablosu hakkında bilgi için bkz . Denetim günlüğü sistemi tablo başvurusu.

Hesap yöneticisi veya meta veri deposu yöneticisi değilseniz denetim günlüklerini okuma erişimine sahip system.access.audit olmanız gerekir.

Delta Sharing olaylarını denetim günlüğünde görüntüleme

Hesabınızda sistem tabloları etkinleştirilmişse denetim günlükleri içinde system.access.auditdepolanır. Alternatif olarak, hesabınızda denetim günlüğü teslim kurulumu varsa günlüklerin teslim edildiği demet ve yolu bilmeniz gerekir.

Günlüğe kaydedilen olaylar

Delta Sharing denetim günlüğü olaylarının listesini görüntülemek için bkz . Delta Sharing olayları.

Alıcının sorgu sonucunun ayrıntılarını görüntüleme

Sağlayıcı günlüklerinde, olarak deltaSharingQueriedTableChanges döndürülen ve deltaSharingQueriedTable bir veri alıcısının sorgusu yanıt aldıktan sonra günlüğe kaydedilir. Sağlayıcılar, alıcıyla nelerin paylaşıldığı hakkında daha fazla ayrıntı görmek için bu günlüklerin alanını görüntüleyebilir response.result . alanı aşağıdaki değerleri içerebilir. Bu liste kapsamlı değildir.

"checkpointBytes": "0",
"earlyTermination": "false",
"maxRemoveFiles": "0",
"path": "file: example/s3/path/golden/snapshot-data0/_delta_log",
"deltaSharingPartitionFilteringAccessed": "false",
"deltaSharingRecipientId": "<redacted>",
"deltaSharingRecipientIdHash": "<recipient-hash-id>",
"jsonLogFileNum": "1",
"scannedJsonLogActionNum": "5",
"numRecords": "3",
"deltaSharingRecipientMetastoreId": "<redacted>",
"userAgent": "Delta-Sharing-Unity-Catalog-Databricks-Auth/1.0 Linux/4.15.0-2068-azure-fips OpenJDK_64-Bit_Server_VM/11.0.7+10-jvmci-20.1-b02 java/11.0.7 scala/2.12.15 java_vendor/GraalVM_Community",
"jsonLogFileBytes": "2846",
"checkpointFileNum": "0",
"metastoreId": "<redacted>",
"limitHint": "Some(1)",
"tableName": "cookie_ingredients",
"tableId": "1234567c-6d8b-45fd-9565-32e9fc23f8f3",
"activeAddFiles": "2", // number of AddFiles returned in the query
"numAddFiles": "2", // number of AddFiles returned in the query
"numAddCDCFiles": "2", // number of AddFiles returned in the CDF query
"numRemoveFiles": "2", // number of RemoveFiles returned in the query
"numSeenAddFiles": "3",
"scannedAddFileSize": "1300", // file size in bytes for the AddFile returned in the query
"scannedAddCDCFileSize": "1300", // file size in bytes for the AddCDCFile returned in the CDF query
"scannedRemoveFileSize": "1300", // file size in bytes for the RemoveFile returned in the query
"scannedCheckpointActionNum": "0",
"tableVersion": "0"

Günlüğe kaydedilen hatalar

Delta Sharing eylemi denenirse, eylem günlüğün alanında hata iletisiyle günlüğe response.error_message kaydedilir. ve > karakterleri arasındaki < öğeler yer tutucu metni temsil eden öğelerdir.

Sağlayıcı günlüklerinde hata iletileri

Delta Sharing, veri sağlayıcıları için aşağıdaki hataları günlüğe kaydeder:

  • Delta Paylaşımı seçili meta veri deposunda etkinleştirilmedi.

    DatabricksServiceException: FEATURE_DISABLED:
    Delta Sharing is not enabled
    
  • Var olmayan bir katalogda bir işlem denendi.

    DatabricksServiceException: CATALOG_DOES_NOT_EXIST:
    Catalog ‘<catalog>’ does not exist.
    
  • Hesap yöneticisi veya meta veri deposu yöneticisi olmayan bir kullanıcı ayrıcalıklı bir işlem gerçekleştirmeye çalıştı.

    DatabricksServiceException: PERMISSION_DENIED:
    Only administrators can <operation-name> <operation-target>
    
  • Meta veri deposunun atanmadığı bir çalışma alanından meta veri deposu üzerinde bir işlem denendi.

    DatabricksServiceException: INVALID_STATE:
    Workspace <workspace-name> is no longer assigned to this metastore
    
  • Bir istekte alıcı adı veya paylaşım adı eksikti.

    DatabricksServiceException: INVALID_PARAMETER_VALUE: CreateRecipient/CreateShare Missing required field: <recipient-name>/<share-name>
    
  • İstekte geçersiz bir alıcı adı veya paylaşım adı vardı.

    DatabricksServiceException: INVALID_PARAMETER_VALUE: CreateRecipient/CreateShare <recipient-name>/<share-name> is not a valid name
    
  • Bir kullanıcı Unity Kataloğu meta veri deposunda olmayan bir tabloyu paylaşmaya çalıştı.

    DatabricksServiceException: INVALID_PARAMETER_VALUE: Only managed or external table on Unity Catalog can be added to a share
    
  • Kullanıcı zaten döndürülmüş durumda olan ve önceki belirtecinin süresi henüz dolmamış olan bir alıcıyı döndürmeye çalıştı.

    DatabricksServiceException: INVALID_PARAMETER_VALUE: There are already two active tokens for recipient <recipient-name>
    
  • Kullanıcı yeni bir alıcı oluşturmaya veya mevcut alıcıyla aynı ada sahip bir paylaşım oluşturmaya çalıştı.

    DatabricksServiceException: RECIPIENT_ALREADY_EXISTS/SHARE_ALREADY_EXISTS: Recipient/Share <name> already exists`
    
  • Kullanıcı, var olmayan bir alıcı veya paylaşım üzerinde işlem gerçekleştirmeye çalıştı.

    DatabricksServiceException: RECIPIENT_DOES_NOT_EXIST/SHARE_DOES_NOT_EXIST: Recipient/Share '<name>' does not exist
    
  • Kullanıcı bir paylaşıma tablo eklemeyi denedi, ancak tablo zaten eklenmişti.

    DatabricksServiceException: RESOURCE_ALREADY_EXISTS: Shared Table '<name>' already exists
    
  • Kullanıcı, var olmayan bir tabloya başvuran bir işlem gerçekleştirmeye çalıştı.

    DatabricksServiceException: TABLE_DOES_NOT_EXIST: Table '<name>' does not exist
    
  • Kullanıcı, var olmayan bir şemaya başvuran bir işlem gerçekleştirmeye çalıştı.

    DatabricksServiceException: SCHEMA_DOES_NOT_EXIST: Schema '<name>' does not exist
    
  • Kullanıcı var olmayan bir paylaşıma erişmeye çalıştı.

    DatabricksServiceException: SHARE_DOES_NOT_EXIST: Share <share-name> does not exist.
    

Alıcı günlüklerinde hata iletileri

Delta Sharing, veri alıcıları için aşağıdaki hataları günlüğe kaydeder:

  • Kullanıcı erişim izni olmayan bir paylaşıma erişmeye çalıştı.

    DatabricksServiceException: PERMISSION_DENIED:
    User does not have SELECT on Share <share-name>
    
  • Kullanıcı var olmayan bir paylaşıma erişmeye çalıştı.

    DatabricksServiceException: SHARE_DOES_NOT_EXIST: Share <share-name> does not exist.
    
  • Kullanıcı paylaşımda bulunmayan bir tabloya erişmeye çalıştı.

    DatabricksServiceException: TABLE_DOES_NOT_EXIST: <table-name> does not exist.