Delen via


Referenties van de Unity Catalog-service gebruiken om verbinding te maken met externe cloudservices

Belangrijk

Deze functie is beschikbaar als openbare preview.

In dit artikel wordt beschreven hoe u een servicereferentie in Unity Catalog gebruikt om verbinding te maken met externe cloudservices. Een servicereferentieobject in Unity Catalog bevat een langetermijncloudreferentie die toegang biedt tot een externe cloudservice waarmee gebruikers verbinding moeten maken vanuit Azure Databricks.

Zie ook:

Voordat u begint

Voordat u een servicereferentie kunt gebruiken om verbinding te maken met een externe cloudservice, moet u het volgende hebben:

  • Een Azure Databricks-werkruimte die is ingeschakeld voor Unity Catalog.
  • Een rekenresource die zich in Databricks Runtime 15.4 LTS of hoger bevindt. SQL-warehouses worden niet ondersteund.
  • Een servicereferentie die is gemaakt in uw Unity Catalog-metastore die toegang geeft tot de cloudservice.
  • De ACCESS bevoegdheid voor de servicereferentie of het eigendom van de servicereferentie.

Een servicereferentie gebruiken in uw code

Deze sectie bevat een voorbeeld van het gebruik van een servicereferentie in een notebook. Alleen Python wordt ondersteund tijdens de openbare preview. Vervang tijdelijke aanduidingen voor waarden.

Voorbeeld: een Azure SDK-client configureren voor het gebruik van een specifieke servicereferentie

from azure.keyvault.secrets import SecretClient # example Azure SDK client

credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')
vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)

Een standaardservicereferentie opgeven voor een rekenresource

U kunt desgewenst een standaardservicereferentie opgeven voor een rekencluster voor alle doeleinden of taken door een omgevingsvariabele in te stellen. Standaard gebruikt de SDK die servicereferentie als er geen verificatie is opgegeven. Gebruikers hebben nog steeds die servicereferentie nodig ACCESS om verbinding te maken met de externe cloudservice. Databricks raadt deze methode niet aan, omdat uw code minder draagbaar is dan het benoemen van de servicereferenties in uw code.

Notitie

Serverloze berekeningen en SQL-warehouses bieden geen ondersteuning voor omgevingsvariabelen en bieden daarom geen ondersteuning voor standaardservicereferenties.

  1. Open de bewerkingspagina voor het cluster.

    Zie Compute beheren.

  2. Klik op Geavanceerde opties onder aan de pagina en ga naar het tabblad Spark .

  3. Voeg de volgende vermelding toe in omgevingsvariabelen, waarbij u het <your-service-credential>volgende vervangt:

    DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME=<your-service-credential>

In het volgende codevoorbeeld wordt geen servicereferentie opgegeven. In plaats daarvan wordt de servicereferentie gebruikt die is opgegeven in de DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME omgevingsvariabele:

from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient

vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)

Vergelijk met het voorbeeld in voorbeeld: configureer een Azure SDK-client om een specifieke servicereferentie te gebruiken, die niet wordt geïmporteerd DefaultAzureCredential en de referentiespecificatie wordt toegevoegd:

credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')