Hantera leverantörer av Delta Sharing för datamottagare

Den här sidan beskriver hur du använder Unity Catalog för att få information om dataleverantörer som delar data med dig via Delta Sharing. Den beskriver också vad ett providerobjekt är och när du kan behöva skapa ett providerobjekt i ditt Unity Catalog-metaarkiv, en uppgift som de flesta mottagare aldrig behöver göra.

Viktigt!

Datamottagare måste ha åtkomst till en Databricks-arbetsyta som är aktiverad för att Unity Catalog ska kunna använda de funktioner som beskrivs. Den här sidan gäller inte för mottagare som inte har Unity Catalog-aktiverade arbetsytor.

Behöver mottagarna skapa providerobjekt?

I Deltadelning på Databricks kan termen "provider" innebära både den organisation som delar data med dig och ett skyddsbart objekt i mottagarens Unity Catalog-metaarkiv som representerar den organisationen. Förekomsten av det skyddsbara objektet i en mottagares Unity Catalog-metaarkiv gör det möjligt för mottagarna att hantera teamets åtkomst till delade data med hjälp av Unity Catalog.

Som mottagare med åtkomst till ett Unity Catalog-metaarkiv behöver du vanligtvis inte skapa providerobjekt. Det beror på att data ska delas med dig med Databricks-to-Databricks sharing, och providerobjekt skapas automatiskt i ditt Unity Catalog-metastore.

Kommentar

Om du tar emot data från en provider som inte delar från en Unity Catalog-aktiverad Databricks-arbetsyta kan du använda Catalog Explorer för att importera providerns autentiseringsfil. Se Azure Databricks: Läs delade data med hjälp av anslutningsverktyg för öppen delning.

Innan du börjar

Så här hanterar du leverantörer på din Azure Databricks-arbetsyta:

  • Arbetsytan måste vara aktiverad för Unity Catalog.
  • Om du vill visa en provider måste du vara administratör för metaarkivet, eller så måste en metaarkivadministratör ge dig behörigheten USE PROVIDER .
  • Om du vill skapa en provider måste du vara administratör för metaarkivet, eller så måste en metaarkivadministratör ge dig behörigheten CREATE PROVIDER .
  • Om du vill uppdatera en provider måste du vara ägare till providerobjektet och ha behörigheten CREATE PROVIDER . Mer information finns i Uppdatera en provider (byt namn, ändra ägare, kommentera).

Om din arbetsyta därför skapades utan en metaarkivadministratör måste en Azure Databricks-kontoadministratör ge en användare eller grupp rollen som administratör för metaarkivet innan du kan arbeta med providerobjekt i Azure Databricks. Se Automatisk aktivering av Unity Catalog och (valfritt) Tilldela metaarkiv-administratörsrollen.

Visa leverantörer

Om du vill visa en lista över tillgängliga dataprovidrar kan du använda Catalog Explorer, Databricks Unity Catalog CLI eller SHOW PROVIDERS SQL-kommandot i en Azure Databricks-anteckningsbok eller Databricks SQL-frågeredigeraren.

Behörigheter som krävs: Du måste ha USE PROVIDER behörighet att visa alla providers i metaarkivet. Andra användare har endast åtkomst till de leverantörer som de äger.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen. kugghjulsikonen och väljer Deltadelning.

    Du kan också klicka på Dela > Delta Sharing i det övre högra hörnet.

  3. På fliken Delat med mig visar du alla data som delas med din organisation. För varje aktie tillhandahålls följande information:

    • Namn: Organisationsnamnet enligt providern.
    • Autentiseringstyp: Delningsmetoden som används av providern.
    • Ägare: Leverantörens namn eller e-post.
    • Skapad på: Datum och tid för när resursen skapades.
    • Beskrivning: Beskrivningen av delningen.

SQL

Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren. Alternativt kan du ersätta <pattern> med ett LIKE predikat.

SHOW PROVIDERS [LIKE <pattern>];

Mer information om SHOW PROVIDERSfinns i SHOW PROVIDERS.

Kommandoradsgränssnitt (CLI)

Kör följande kommando med hjälp av Databricks CLI.

databricks providers list

Visa leverantörsuppgifter

Om du vill visa information om en provider kan du använda Catalog Explorer, Databricks Unity Catalog CLI eller DESCRIBE PROVIDER SQL-kommandot i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren.

Behörigheter som krävs: Metaarkivadministratör, användare med USE PROVIDER behörigheten eller providerobjektägaren.

Information som ingår:

  • Resurser som delas av providern (se Visa resurser som en provider har delat med dig).
  • Providerns skapare, tidsstämpel för skapande, kommentarer och autentiseringstyp (TOKEN eller DATABRICKS). TOKEN representerar leverantörer som har delat data med dig genom Delta Sharing-protokollet för öppen delning. DATABRICKS representerar leverantörer som har delat data med dig med hjälp av delningsprotokollet Databricks-till-Databricks.
  • Om providern använder Databricks-till-Databricks-delning: moln-, region- och metaarkiv-ID för leverantörens Unity Catalog-metaarkiv.
  • Om providern använder öppen delning: slutpunkten för mottagarprofilen, som är platsen där delningsservern för deltadelning finns.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen. kugghjulsikonen och väljer Deltadelning.

    Du kan också klicka på Dela > Delta Sharing i det övre högra hörnet.

  3. På fliken Delat med mig letar du upp och väljer providern.

SQL

Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren.

DESC PROVIDER <provider-name>;

Mer information om DESC PROVIDERfinns i DESCRIBE PROVIDER.

Kommandoradsgränssnitt (CLI)

Kör följande kommando med hjälp av Databricks CLI.

databricks providers get <provider-name>

Visa resurser som en provider har delat med dig

Om du vill visa de resurser som en provider har delat med dig kan du använda Catalog Explorer, Databricks Unity Catalog CLI eller SHOW SHARES IN PROVIDER SQL-kommandot i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren.

Behörigheter som krävs: Metaarkivadministratör, användare med USE PROVIDER behörigheten eller providerobjektägaren.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen. kugghjulsikonen och väljer Deltadelning.

    Du kan också klicka på Dela > Delta Sharing i det övre högra hörnet.

  3. På fliken Delat med mig letar du upp och väljer providern.

SQL

Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren. Alternativt kan du ersätta <pattern> med ett LIKE predikat.

SHOW SHARES IN PROVIDER [LIKE <pattern>];

Mer information om SHOW SHARES IN PROVIDERfinns i SHOW SHARES IN PROVIDER.

Kommandoradsgränssnitt (CLI)

Kör följande kommando med hjälp av Databricks CLI.

 databricks providers list-shares <provider-name>

Uppdatera en provider (byt namn, ändra ägare, kommentera)

Du kan använda Catalog Explorer, Databricks Unity Catalog CLI eller ALTER PROVIDER SQL-kommandot i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren för att ändra providerobjektet i ditt Unity Catalog-metaarkiv:

  • Byt namn på providern för att ändra hur användarna ser providerobjektet i sina Databricks-gränssnitt.
  • Ändra providerobjektets ägare.
  • Lägg till eller ändra kommentarer.

Behörigheter som krävs: Du måste vara ägare till providerobjektet för att uppdatera ägaren. Du måste vara metaarkivadministratör (eller användare med behörighet) CREATE PROVIDERoch providerägare för att uppdatera providernamnet. Du måste vara ägaren för att uppdatera kommentaren. Den första ägaren är metaarkivadministratören.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen. kugghjulsikonen och väljer Deltadelning.

    Du kan också klicka på Dela > Delta Sharing i det övre högra hörnet.

  3. På fliken Delat med mig letar du upp och väljer providern.

  4. Uppdatera ägaren, kommentaren eller providernamnet på informationssidan.

    Om du vill byta namn på en leverantör klickar du på menyikonen Kebab. kebabmeny och väljer Byt namn.

SQL

Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren.

ALTER PROVIDER <provider-name> RENAME TO <new-provider-name>
OWNER TO <new-owner>
COMMENT "<comment>";

Mer information om ALTER PROVIDERfinns i ALTER PROVIDER.

Kommandoradsgränssnitt (CLI)

Kör följande kommando med hjälp av Databricks CLI. Ersätt <provider-name> med det aktuella providernamnet och <new-provider-name> med det nya namnet.

databricks providers update <provider-name> /
--new-name <new-provider-name> /
--comment "<new comment>" /
--owner <new-owner-name>

Rotera autentiseringsuppgifter för öppna mottagare

Det här avsnittet gäller för providerobjekt med autentiseringstypen TOKEN, OAUTH_CLIENT_CREDENTIALSeller OIDC_FEDERATION. Databricks-till-Databricks-leverantörer (autentiseringstyp DATABRICKS) skiftar automatiskt. Om du kommer åt data utan ett providerobjekt, till exempel med hjälp av delta-sharing Python eller Spark-anslutningsappen, använder du den nya autentiseringsfilen i anslutningskonfigurationen. Se Läsa data som delas med Delta Sharing med öppen delning med tilldelningstokens.

En provider som använder det öppna delningsprotokollet kan rotera ägartoken och skicka dig en ny autentiseringsfil. När det händer använder du Databricks REST API för att uppdatera providerobjektet. Ta inte bort och återskapa providern för att tillämpa en ny autentiseringsuppgift. Kataloger binder till providerns interna ID, inte dess namn. Om du återskapar en provider med samma namn bryts katalogens anslutning till delade data.

ALTER PROVIDER, Databricks CLI och Catalog Explorer stöder inte uppdatering av providerautentiseringsuppgifter.

Uppdatera autentiseringsuppgifterna

Skicka en PATCH begäran till providerslutpunkten med innehållet i den nya autentiseringsfilen i fältet recipient_profile_str .

Behörigheter som krävs: Providerobjektägare eller metaarkivadministratör.

Python

Kör följande från en notebook-fil på mottagararbetsytan. Ersätt <provider-name> med namnet på providerobjektet i metaarkivet och uppdatera new_profile med värdena från den nya autentiseringsfilen.

import json
import requests

new_profile = {
    "shareCredentialsVersion": 1,
    "bearerToken": "<new-bearer-token>",
    "endpoint": "https://<provider-workspace>.cloud.databricks.com/api/2.0/delta-sharing/metastores/<metastore-id>",
}

token = (
    dbutils.notebook.entry_point.getDbutils()
    .notebook()
    .getContext()
    .apiToken()
    .get()
)
workspace_url = spark.conf.get("spark.databricks.workspaceUrl")

response = requests.patch(
    f"https://{workspace_url}/api/2.1/unity-catalog/providers/<provider-name>",
    headers={
        "Authorization": f"Bearer {token}",
        "Content-Type": "application/json",
    },
    json={"recipient_profile_str": json.dumps(new_profile)},
)

print(response.status_code)
print(response.json())

curl

curl --request PATCH \
  --header "Authorization: Bearer $DATABRICKS_TOKEN" \
  --header "Content-Type: application/json" \
  --url "https://<databricks-instance>/api/2.1/unity-catalog/providers/<provider-name>" \
  --data '{
    "recipient_profile_str": "<contents of the new credential file>"
  }'

En lyckad rotation returnerar följande svar med providerns uppdaterade metadata.

{
  "name": "<provider-name>",
  "authentication_type": "TOKEN",
  "owner": "user@example.com",
  "recipient_profile": {
    "share_credentials_version": 1,
    "endpoint": "https://<provider-workspace>.cloud.databricks.com/api/2.0/delta-sharing/metastores/<metastore-id>"
  },
  "updated_at": 1775804332820,
  "updated_by": "user@example.com",
  "id": "abcd2a5b-c18e-46eb-ae11-3056cfe99bef"
}

Mer information finns i Uppdatera en provider REST API.

Verifiera rotationen

Bekräfta att katalogen, scheman och tabellerna fortfarande är tillgängliga. Katalognamnet bör vara samma som före rotation.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen. kugghjulsikonen och väljer Deltadelning.

    Du kan också klicka på Dela > Delta Sharing i det övre högra hörnet.

  3. På fliken Delat med mig letar du reda på din provider.

Tidigare felmeddelanden bör vara borta och aktierna bör listas igen. Katalogen i listan bör vara densamma som den var tidigare.

SQL

Kör följande SQL i en notebook-fil eller Databricks SQL-frågeredigeraren.

-- The catalog name should match what it was before rotation
SHOW CATALOGS;

-- Schemas in the shared catalog should still appear
SHOW SCHEMAS IN <catalog-name>;

-- Tables should still appear
SHOW TABLES IN <catalog-name>.<schema-name>;

-- A read from a shared table should return data
SELECT * FROM <catalog-name>.<schema-name>.<table-name> LIMIT 10;

Om sökfrågorna lyckas är rotationen slutförd och alla befintliga sökfrågor, uppgifter och instrumentpaneler fortsätter att fungera.

Felsökning

Error Reparera
Begäran returnerar 403 Forbidden Du måste vara providerägare eller metaarkivadministratör för att kunna rotera autentiseringsuppgifter. Be en metastore-administratör att tillämpa rotationen eller överföra ägarskapet. Se Uppdatering aktier.
Begäran returnerar 404 Not Found Providernamnet är felaktigt. Kör SHOW PROVIDERS för att visa de exakta namnen i metaarkivet.
Begäran returneras 400 Bad Request med meddelandet "det går inte att uppdatera mottagarprofilen" API:et uppdaterar endast autentiseringsuppgifterna för TOKEN, OAUTH_CLIENT_CREDENTIALSoch OIDC_FEDERATION providers. För Databricks-till-Databricks-delning roteras autentiseringsuppgifterna automatiskt.
Frågor returneras TABLE_OR_VIEW_NOT_FOUND Katalognamnet kan vara felaktigt eller så kan bindningen katalog-till-provider vara bruten. Kör SHOW CATALOGS och SHOW SCHEMAS IN <catalog-name> bekräfta att katalogen finns.
Katalogutforskaren visar inaktuella data eller fel efter en lyckad PATCH. Du ser cachelagrade resultat från före rotationen. Uppdatera sidan eller vänta några minuter.

Ta bort en leverantör

Om du vill ta bort en provider kan du använda Catalog Explorer, Databricks CLI eller kommandot DROP PROVIDER SQL i en Azure Databricks notebook-fil eller Databricks SQL-frågeredigeraren. Du måste vara providerobjektägaren för att kunna ta bort providern.

När du tar bort en provider kan du och användarna i din organisation (mottagaren) inte längre komma åt de data som delas av providern.

Behörigheter som krävs: Providerobjektägare.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på dataikonen.Katalog.

  2. Längst upp i fönstret Katalog klickar du på kugghjulsikonen. kugghjulsikonen och väljer Deltadelning.

    Du kan också klicka på Dela > Delta Sharing i det övre högra hörnet.

  3. På fliken Delat med mig letar du upp och väljer providern.

  4. Klicka på menyikonen Kebab. kebabmeny och välj Ta bort.

  5. Klicka på Ta bort i bekräftelsedialogrutan.

SQL

Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren.

DROP PROVIDER [IF EXISTS] <provider-name>;

Mer information om DROP PROVIDERfinns i DROP PROVIDER.

Kommandoradsgränssnitt (CLI)

Kör följande kommando med hjälp av Databricks CLI.

databricks providers delete <provider-name>

Om åtgärden lyckas returneras inga resultat.