Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Käytä OneLake-lisätaulun metatietorajapintaa lukeaksesi ja kirjoittaaksesi kuvauksia ja avainarvotunnisteita taululle ja sen sarakkeille. Tämä API käyttää yhteistä REST-reittiä Iceberg REST Catalog- tai Unity Catalog -yhteensopivien reittien sijaan.
Esimerkiksi lisää kuvaus, joka selittää taulukon liiketoimintatarkoituksen, merkitse taulu omistajatiimillä ja kuvaile, miten sarake tulkitaan. Nämä operaatiot toimivat kuvailevan metatiedon avulla, eivät taulukkoriveillä. Rivien hakemiseen käytetään OneLake-taulun lukurajapintaa.
Tärkeää
Lisätaulukko-metatietojen API on julkisessa esikatselussa. Ominaisuudet ja käyttäytyminen voivat muuttua ennen yleistä saatavuutta.
Vaatimukset
- Suorita jaetun taulukon API-edellytykset ja todennusvaiheet.
- Tunnista kohdetaulun työtilan ID, kohde-ID, skeeman nimi ja taulun nimi.
- Tunnista olemassa olevat sarakkeet, joita haluat kuvata tai merkitä.
- Käytä identiteettiä, jolla on tarvittavat oikeudet kohdetaulun metatietojen lukemiseen tai kirjoittamiseen.
Esimerkeissä käytetään kaaviossa salesdbo nimettyä taulukkoa ja olemassa olevaa saraketta nimeltä customer_id. Korvaa nämä nimet taulukkosi nimillä.
Päätepiste ja toiminnot
Käytä seuraavaa perus-URL-osoitetta:
https://onelake.table.fabric.microsoft.com
Molemmat operaatiot käyttävät samaa reittiä:
/common/v1/<WorkspaceID>/<ItemID>/schemas/<SchemaName>/tables/<TableName>/additionalMetadata
| Menetelmä | Toiminto | Onnistunut vastaus |
|---|---|---|
GET |
Lue lisätietoja taulukosta ja sen sarakkeista. |
200 OK JSON-metatietovastauksella. |
POST |
Aseta lisämetatietoja taulukolle ja sen sarakkeille. |
200 OK JSON-metatietovastauksella. |
Käytä GUIDeja ja <WorkspaceID><ItemID>. URL-koodaa skeeman ja taulukoiden nimet yksittäisinä polkusegmentteinä. Sisällytä otsikkoAuthorization: Bearer <Token>, jossa on Microsoft Entra ID access token yleisöllehttps://storage.azure.com/. Jos POST, sisällytä Content-Type: application/jsonmyös .
Tuetut kuvaukset ja tunnisteet
Käytä näitä kenttiä pyynnössä POST :
| Kenttä | Tyyppi | Kuvaus ja rajat |
|---|---|---|
description |
Merkkijono | Pöydän kuvaus. Enintään 1 024 merkkiä. |
tags |
Objekti | Taulukon tunnisteet merkkijonon avain-arvopareina. Jokaisessa näppäimessä on enintään 128 merkkiä ja jokaisella arvolla enintään 256 merkkiä. |
columns |
Array | Lisämetatiedot niille sarakkeille, jotka tunnistat pyynnössä. |
columns[].columnName |
Merkkijono | Olemassa olevan sarakkeen nimi. Käytä tätä kenttää tunnistaaksesi sarakkeen, jonka haluat kuvata tai merkitä. |
columns[].description |
Merkkijono | Kolumnin kuvaus. Enintään 1 024 merkkiä. |
columns[].tags |
Objekti | Saraketunnisteet merkkijonon avain-arvopareina. Avain- ja arvorajat ovat samat kuin taulukkotunnisteissa. |
Lue lisää metatietoja
Lähetä GET pyyntö saadaksesi taulukkotason ja sarakkeen metatietoja.
GET https://onelake.table.fabric.microsoft.com/common/v1/<WorkspaceID>/<ItemID>/schemas/dbo/tables/sales/additionalMetadata
Authorization: Bearer <Token>
Accept: application/json
Onnistunut pyyntö palautuu 200 OK. Seuraava JSON näyttää vastausmuodon:
{
"description": "Sales transactions.",
"tags": {
"domain": "sales",
"owner": "sales-analytics"
},
"columns": [
{
"columnName": "customer_id",
"description": "Customer identifier.",
"tags": {
"role": "customer-key"
}
}
]
}
Vastauksesi arvot, sarakkeennimet ja kentät riippuvat kohdetaulukosta ja sen metatiedoista. Sopimus ei vaadi, että kaikki alat ovat läsnä.
Kirjoita lisämetatietoja
Lähetä POST pyyntö JSON-rungolle korvaamaan taulun lisämetatiedot.
Tärkeää
POST korvaa olemassa olevat lisämetatiedot; se ei ole osittainen päivitys. Sisällytä taulukon kuvaus, taulukkotunnisteet sekä sarakkeiden kuvaukset ja tagit, jotka haluat säilyttää jokaiseen pyyntöön. Esimerkiksi pyyntö, joka sisältää vain description taulukon kuvauksen ja poistaa olemassa olevat taulukkotunnisteet sekä kaikki sarakkeiden kuvaukset ja tagit.
Tämä esimerkki sisältää taulukon kuvauksen ja tunnisteet sekä kuvauksen ja tagin .customer_id Se tunnistaa sarakkeen käyttämällä columnName.
POST https://onelake.table.fabric.microsoft.com/common/v1/<WorkspaceID>/<ItemID>/schemas/dbo/tables/sales/additionalMetadata
Authorization: Bearer <Token>
Content-Type: application/json
Accept: application/json
Pyynnön runko:
{
"description": "Sales transactions used for revenue reporting.",
"tags": {
"domain": "sales",
"owner": "sales-analytics"
},
"columns": [
{
"columnName": "customer_id",
"description": "Identifier of the customer associated with the sale.",
"tags": {
"role": "customer-key"
}
}
]
}
Onnistunut pyyntö palauttaa 200 OK lisämetatietovastauksen. Esimerkiksi:
{
"description": "Sales transactions used for revenue reporting.",
"tags": {
"domain": "sales",
"owner": "sales-analytics"
},
"columns": [
{
"columnName": "customer_id",
"description": "Identifier of the customer associated with the sale.",
"tags": {
"role": "customer-key"
}
}
]
}
Lähetä toinen GET pyyntö tarkistaaksesi metatiedot kirjoituksen jälkeen.
Säilytä olemassa oleva metadata
Valittujen kuvausten tai tunnisteiden muuttamiseksi ilman muiden metatietojen poistamista käytä read-modify-write -sekvenssiä:
- Lähetä
GETpyyntö lukea nykyiset lisämetatiedot. - Muuta kuvaukset tai tagit, jotka haluat päivittää palautetussa metadatassa. Säilytä muut kentät, tag-avaimet ja sarakemerkinnät, jotka haluat säilyttää.
- Lähetä täydelliset päivitetyt metatiedot
POSTpyynnössä. - Lähetä toinen
GETpyyntö varmistaaksesi tuloksen.
Koordinoi samanaikaiset metatietojen päivitykset, jotta uusi kirjoitus ei tapahdu sinun GET ja POST pyyntöjen välillä.
Metatietojen lukeminen ja kirjoittaminen Python:lla
Seuraava esimerkki autentikoidaan Microsoft Entra ID:llä, lukee ajantasaiset metatiedot, päivittää valitut kuvaukset ja tagit säilyttäen muut metatiedot ja lukee metatiedot uudelleen. Se ei kutsu formaattikohtaista luettelo-API:ta eikä pyydä tallennustietoja.
Varoitus
Tämän näytteen ajaminen kirjoittaa metatietoja. Käytä testitaulukkoa ja -saraketta sekä korvaa esimerkkikuvaukset ja tagit ennen kuin suoritat sen. Näyte säilyttää metatiedot alkuperäisestä lukemisesta, mutta se voi korvata toisen asiakkaan ennen kirjoitusta tekemät muutokset.
Asenna riippuvuudet:
python -m pip install azure-identity requests
Konfiguroi tuettu Azure Identity -todennusmenetelmä, kuten kirjautuminen paikallisesti Azure CLI:llä ennen näytteen suorittamista.
import json
from urllib.parse import quote
import requests
from azure.identity import DefaultAzureCredential
workspace_id = "<WorkspaceID>"
item_id = "<ItemID>"
schema_name = "dbo"
table_name = "sales"
column_name = "customer_id"
url = (
"https://onelake.table.fabric.microsoft.com/common/v1/"
f"{workspace_id}/{item_id}/schemas/{quote(schema_name, safe='')}/"
f"tables/{quote(table_name, safe='')}/additionalMetadata"
)
with DefaultAzureCredential() as credential, requests.Session() as session:
session.headers.update({"Accept": "application/json"})
def request_metadata(method, **kwargs):
token = credential.get_token("https://storage.azure.com/.default")
response = session.request(
method,
url,
headers={"Authorization": f"Bearer {token.token}"},
timeout=30,
**kwargs,
)
response.raise_for_status()
return response.json()
metadata = request_metadata("GET")
print("Before:")
print(json.dumps(metadata, indent=2))
metadata["description"] = "Sales transactions used for revenue reporting."
metadata.setdefault("tags", {}).update(
{"domain": "sales", "owner": "sales-analytics"}
)
columns = metadata.setdefault("columns", [])
column = next(
(entry for entry in columns if entry.get("columnName") == column_name),
None,
)
if column is None:
column = {"columnName": column_name}
columns.append(column)
column["description"] = "Identifier of the customer associated with the sale."
column.setdefault("tags", {}).update({"role": "customer-key"})
print("Write response:")
print(json.dumps(request_metadata("POST", json=metadata), indent=2))
print("After:")
print(json.dumps(request_metadata("GET"), indent=2))
Argumentti json asettaa Content-Type: application/json pyynnön otsikon. Otos nostaa poikkeuksen epäonnistuneelle HTTP-vastaukselle sen sijaan, että sitä käsiteltäisiin onnistuneena metatietopäivityksenä.
Työskentely metatietojen kanssa OneLake-pikanäppäimillä
Sisäisessä OneLake-taulun pikakuvakkeessa käytä pikakuvakkeen työtilan ID:tä, kohde-ID:tä, skeeman nimeä ja taulun nimeä samassa lisämetatietoreitissä. Operaatiot toimivat kohdetaulun metatietojen kanssa, eivät erillisen pikakuvakkeen metatietojen kopion kanssa:
-
GETpalauttaa kohdetaulun lisämetatiedot, mukaan lukien kuvaukset ja tunnisteet. -
POSTkorvaa kohdetaulukon lisämetatiedot. Muutokset näkyvät, kun luet metatietoja joko pikakuvakkeen tai kohdetaulukon kautta.
Esimerkiksi, jos pikakuvake nimeltä sales_shortcut osoittaa , saleslue lähdetaulun metatiedot pikakuvakkeen kautta käyttämällä tätä pyyntöä:
GET https://onelake.table.fabric.microsoft.com/common/v1/<WorkspaceID>/<ItemID>/schemas/dbo/tables/sales_shortcut/additionalMetadata
Authorization: Bearer <token>
Accept: application/json
Metatietojen päivittämiseksi pikakuvakkeen kautta lähetä POST pyyntö samalle URL-osoitteelle.
Korvaava semantiikka pätee myös kohdetauluun: pelkkä kuvauspyyntö pikakuvakkeen kautta poistaa kohdetaulukon olemassa olevat tagit ja sarakkeen metatiedot. Käytä read-modify-write -sekvenssiä säilyttääksesi haluamasi metatiedot.
Pääsy vaatii käyttöoikeudet sekä pikapolun että kohdetaulun polun operaatioon. Passthrough-pikakuvakkeisiin identiteettisi tarvitsee molemmat käyttöoikeudet; pelkkä kohdetaulun käyttöoikeudet eivät riitä. Delegoiduissa pikakuvakkeissa kohdepääsy käyttää konfiguroitua yhteysidentiteettiä. Lisätietoja löytyy OneLake-pikakuvakeiden tietoturvasta.
Käsittele virheitä ja diagnosoi pyyntöjä
Jos pyyntö epäonnistui, tarkista HTTP-tila ja JSON-virhevastaus. Virhesopimus on muotoiltaan seuraava; koodin ja viestin paikkamerkit eivät ole erityisiä palveluvirhearvoja:
{
"error": {
"code": "<ErrorCode>",
"message": "<ErrorMessage>"
}
}
Objekti error voi sisältää myös a target ja taulukon details . Jokainen yksityiskohta sisältää ja codemessage, ja voi sisältää myös .target Sopimus ei luettele operaatiokohtaisia virhekoodeja tai tilakoodeja.
Diagnostiikkaa varten voit lähettää vapaaehtoisen x-ms-root-activity-id otsikon, joka sisältää GUID:n. Tallenna vastauksen x-ms-root-activity-id otsikko vianetsinnän yhteydessä. Älä kirjaa kantajatokenia.