Puoi attivare o disattivare in modo selettivo l'acquisizione della tracciabilità per integrazioni specifiche a livello di progetto, cartella o organizzazione.
Per ulteriori informazioni sulle integrazioni e sugli scenari di configurazione supportati, consulta Controllare l'importazione della derivazione dei dati.
Prerequisiti
Per controllare l'importazione della derivazione, devi utilizzare l'API Data Lineage. Assicurati di avere un progetto client configurato per la fatturazione e la quota, perché l'API Data Lineage è un'API basata sul client.
Ruoli e autorizzazioni
Per ottenere le autorizzazioni necessarie per configurare e controllare l'importazione della derivazione dei dati, chiedi all'amministratore di concederti i seguenti ruoli IAM (Identity and Access Management):
Per ottenere le autorizzazioni necessarie per configurare e controllare l'importazione della derivazione dei dati, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:
-
Configura e gestisci la tracciabilità dei dati:
Amministratore di Data Lineage (
roles/datalineage.admin)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per configurare e controllare l'acquisizione della tracciabilità dei dati. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per configurare e controllare l'importazione della derivazione dei dati sono necessarie le seguenti autorizzazioni:
-
Recupera e aggiorna le configurazioni della derivazione:
-
datalineage.configs.get -
datalineage.configs.update
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Abilita l'API
datalineage.googleapis.comnel progetto client. Per maggiori informazioni, vedi Attivare la derivazione dei dati.Imposta il progetto client. Per gli esempi seguenti, utilizza l'intestazione
X-Goog-User-Project. Per ulteriori informazioni, vedi Parametri di sistema.
Ottieni la configurazione attuale
Per verificare se l'importazione della derivazione è abilitata per una risorsa o per ottenere
il valore di etag prima di modificare la configurazione, recupera la configurazione
corrente.
C#
C#
Prima di provare questo esempio, segui le istruzioni di configurazione di C# nella guida rapida di Knowledge Catalog per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Knowledge Catalog C#.
Per eseguire l'autenticazione in Knowledge Catalog, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Vai
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Knowledge Catalog per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Knowledge Catalog Go.
Per eseguire l'autenticazione in Knowledge Catalog, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Knowledge Catalog per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Knowledge Catalog Java.
Per eseguire l'autenticazione in Knowledge Catalog, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Knowledge Catalog per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Knowledge Catalog Python.
Per eseguire l'autenticazione in Knowledge Catalog, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
gcloud
Per visualizzare la configurazione della derivazione corrente, utilizza il comando
gcloud datalineage config describe. Puoi recuperare la configurazione per un progetto, una cartella o un'organizzazione.
Il seguente esempio mostra come ottenere la configurazione per il progetto corrente:
gcloud datalineage config describe
Ad esempio, per ottenere la configurazione per un progetto specifico, utilizza il flag --project:
gcloud datalineage config describe --project=PROJECT_ID
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto di cui vuoi visualizzare la configurazione.
Per visualizzare la configurazione attuale dell'importazione della derivazione di un servizio per una cartella
o un'organizzazione, sostituisci --project=
con uno dei seguenti valori:PROJECT_ID
--folder=se vuoi visualizzare le impostazioniimportazione datii per una cartella.FOLDER_ID--organization=se vuoi visualizzare le impostazioni di importazione dati per un'organizzazione.ORGANIZATION_ID
REST
Per visualizzare la configurazione della derivazione attuale, utilizza il metodo
projects.locations.config.get. Puoi recuperare la configurazione per un progetto, una cartella o un'organizzazione.
L'esempio seguente mostra come ottenere la configurazione di un progetto:
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
CLIENT_PROJECT_ID: L'ID del progetto client utilizzato per la fatturazione o le quote.PROJECT_ID: l'ID del progetto di cui vuoi visualizzare la configurazione.
Metodo HTTP e URL:
GET https://datalineage.googleapis.com/v1/projects/PROJECT_ID/locations/global/config
Per inviare la richiesta, espandi una di queste opzioni:
Il comando restituisce uno dei seguenti output:
- Se non fornisci impostazioni di importazione della derivazione, riceverai un output con un oggetto
ingestionvuoto:{ "name": "projects/123456789012/locations/global/config", "ingestion": {} }
Ciò significa che il servizio utilizza l'impostazione predefinita di importazione della derivazione. In questo esempio, l'impostazione di acquisizione della tracciabilità per Managed Service for Apache Spark è
enabled. - Se attivi l'importazione della derivazione in modo esplicito, ottieni
il seguente output:
{ "name": "projects/123456789012/locations/global/config", "ingestion": { "rules": [ { "integrationSelector": { "integration": "DATAPROC" }, "lineageEnablement": { "enabled": true } } ] }, "etag": "1a2b3c4d5e" }
- Se l'importazione della derivazione è disattivata, viene visualizzato
il seguente output:
{ "name": "projects/123456789012/locations/global/config", "ingestion": { "rules": [ { "integrationSelector": { "integration": "DATAPROC" }, "lineageEnablement": { "enabled": false } } ] }, "etag": "1a2b3c4d5e" }
Per ottenere la configurazione per una cartella o un'organizzazione, sostituisci
projects/ con "PROJECT_IDfolders/ o FOLDER_IDorganizations/.ORGANIZATION_ID
Il campo etag nella risposta è un checksum generato dal server in base al valore attuale della configurazione. Quando aggiorni una configurazione utilizzando il metodo patch, puoi includere il valore etag restituito da una recente richiesta get nel corpo della richiesta. Se fornisci etag,
Knowledge Catalog lo utilizza per verificare che la configurazione non sia cambiata
dall'ultima richiesta di lettura. Se non corrispondono, la richiesta di aggiornamento
non va a buon fine. In questo modo eviti di sovrascrivere involontariamente le configurazioni apportate da altri utenti negli scenari di lettura-modifica-scrittura. Se non fornisci un etag
nella tua richiesta patch, Knowledge Catalog sovrascrive la configurazione
in modo incondizionato.
Disabilita l'importazione della derivazione per un servizio
Per gestire i costi, applicare le norme di governance dei dati o escludere i progetti di sviluppo e altri workload che non traggono vantaggio dalla tracciabilità, disabilita l'importazione della tracciabilità per un servizio.
Java
package com.google.cloud.datacatalog.lineage.configmanagement.v1.samples;
import com.google.api.gax.rpc.NotFoundException;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigName;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest;
public class DisableLineageIngestion {
public static void main(String[] args) throws Exception {
// TODO(developer): Replace these variables before running the sample.
String projectId = "your-project-id";
String location = "global";
disableLineageIngestion(projectId, location);
}
// Disables lineage ingestion for a specific service
// (Managed Service for Apache Spark).
public static void disableLineageIngestion(String projectId, String location) throws Exception {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests.
try (ConfigManagementServiceClient client = ConfigManagementServiceClient.create()) {
// Format the resource name.
String name = ConfigName.ofProjectLocationName(projectId, location).toString();
Config.Builder configBuilder = Config.newBuilder().setName(name);
// It is a best practice to read the existing config to preserve other rules
// and use the etag for optimistic concurrency control.
try {
GetConfigRequest getRequest = GetConfigRequest.newBuilder().setName(name).build();
Config existingConfig = client.getConfig(getRequest);
configBuilder.mergeFrom(existingConfig);
} catch (NotFoundException e) {
// If config doesn't exist, we will proceed by creating a new one.
}
// Create an integration selector for the service you want to disable.
IntegrationSelector selector =
IntegrationSelector.newBuilder().setIntegration(Integration.DATAPROC).build();
// Set lineage enablement to false to disable tracking.
LineageEnablement enablement = LineageEnablement.newBuilder().setEnabled(false).build();
// Build the ingestion rule.
IngestionRule disableRule =
IngestionRule.newBuilder()
.setIntegrationSelector(selector)
.setLineageEnablement(enablement)
.build();
// Preserve existing rules except for the one we are modifying, then add the new rule.
// We clear the ingestion block out of the configBuilder entirely to reconstruct it.
Ingestion.Builder ingestionBuilder = Ingestion.newBuilder();
if (configBuilder.hasIngestion()) {
for (IngestionRule rule : configBuilder.getIngestion().getRulesList()) {
// Keep all existing rules EXCEPT the one targeting DATAPROC
if (rule.getIntegrationSelector().getIntegration() != Integration.DATAPROC) {
ingestionBuilder.addRules(rule);
}
}
}
ingestionBuilder.addRules(disableRule);
// Update the config builder with the reconstructed ingestion settings.
configBuilder.setIngestion(ingestionBuilder.build());
// Build the update request.
UpdateConfigRequest request = UpdateConfigRequest.newBuilder()
.setConfig(configBuilder.build())
.build();
// Update the config.
Config response = client.updateConfig(request);
System.out.printf("Successfully updated config: %s\n", response.getName());
}
}
}
Python
from google.api_core.exceptions import NotFound
from google.cloud.datacatalog.lineage import configmanagement_v1
def disable_lineage_ingestion(project_id: str, location: str = "global") -> configmanagement_v1.Config:
"""Disables lineage ingestion for a specific service.
Args:
project_id: The ID of your Google Cloud project.
location: The region location, usually 'global'.
Returns:
The updated Configuration object.
"""
# Initialize client that will be used to send requests.
client = configmanagement_v1.ConfigManagementServiceClient()
# The config name format
name = f"projects/{project_id}/locations/{location}/config"
try:
# Retrieve the existing config to preserve other configurations and
# obtain the latest etag for optimistic concurrency control.
config = client.get_config(name=name)
# Filter out existing rules for the integration we are updating
new_rules = [
rule for rule in config.ingestion.rules
if rule.integration_selector.integration != configmanagement_v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration.DATAPROC
]
except NotFound:
# If the config does not exist, start fresh
config = configmanagement_v1.Config(name=name)
new_rules = []
# Define the integration to disable tracking for (e.g., DATAPROC).
integration_selector = configmanagement_v1.Config.Ingestion.IngestionRule.IntegrationSelector(
integration=configmanagement_v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration.DATAPROC
)
# Set lineage enablement to False to disable tracking.
lineage_enablement = configmanagement_v1.Config.Ingestion.IngestionRule.LineageEnablement(
enabled=False
)
# Create the ingestion rule.
disable_rule = configmanagement_v1.Config.Ingestion.IngestionRule(
integration_selector=integration_selector,
lineage_enablement=lineage_enablement,
)
# Append the new disabling rule and assign it back to the config ingestion rules
new_rules.append(disable_rule)
config.ingestion = configmanagement_v1.Config.Ingestion(rules=new_rules)
# Create the update request using the config (which includes the etag if it existed).
request = configmanagement_v1.UpdateConfigRequest(
config=config,
)
# Make the request to update the config
response = client.update_config(request=request)
print(f"Successfully updated config: {response.name}")
return response
gcloud
Per disattivare l'importazione della derivazione per un servizio specifico,
utilizza il comando gcloud datalineage config update con una stringa JSON incorporata o un percorso a un file JSON che imposta lineageEnablement.enabled su false per integration specifico.
L'esempio seguente mostra come disattivare l'importazione della derivazione di un servizio per un progetto utilizzando una stringa JSON incorporata:
gcloud datalineage config update --project=PROJECT_ID \
--config='{
"ingestion": {
"rules": [
{
"integrationSelector": {
"integration": "INTEGRATION"
},
"lineageEnablement": {
"enabled": false
}
}
]
},
"etag": "ETAG"
}'
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto di cui vuoi aggiornare la configurazione.INTEGRATION: l'integrazione per cui hai impostato la configurazione. Ad esempio:DATAPROCoBIGQUERY.ETAG: il valore dietagrestituito da una recente richiestagetnel corpo della richiesta, utilizzato per verificare che la configurazione non sia cambiata dall'ultima richiesta di lettura.
Per aggiornare la configurazione utilizzando un file JSON, esegui:
gcloud datalineage config update --project=PROJECT_ID --config=CONFIG_FILE
Sostituisci quanto segue:
CONFIG_FILE: il percorso del file JSON contenente la configurazione.
Per disattivare l'importazione della derivazione di un servizio per una cartella o un'organizzazione, sostituisci
--project= con uno dei seguenti valori:PROJECT_ID
--folder=se vuoi aggiornare le impostazioni diimportazione datii per una cartella.FOLDER_ID--organization=se vuoi aggiornare le impostazioni di importazione dati per un'organizzazione.ORGANIZATION_ID
REST
Per disattivare l'importazione della derivazione per un servizio specifico,
utilizza il metodo projects.locations.config.patch con una regola di importazione che
imposta lineageEnablement.enabled su false per integration specifico.
Per evitare di sovrascrivere involontariamente le configurazioni apportate da altri utenti negli scenari di lettura-modifica-scrittura, puoi includere il campo etag nel corpo della richiesta. Per saperne di più, consulta la sezione
Recuperare la configurazione attuale.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
CLIENT_PROJECT_ID: L'ID del progetto client utilizzato per la fatturazione o le quote.PROJECT_ID: l'ID del progetto di cui vuoi aggiornare la configurazione.ETAG: il valoreetagrestituito da una recente richiestaget.INTEGRATION: ilintegrationper cui hai impostato la configurazione. Ad esempio:DATAPROC.
Metodo HTTP e URL:
PATCH https://datalineage.googleapis.com/v1/projects/PROJECT_ID/locations/global/config
Corpo JSON della richiesta:
{
"ingestion": {
"rules": [
{
"integrationSelector": {
"integration": "INTEGRATION"
},
"lineageEnablement": {
"enabled": false
}
}
]
},
"etag": "ETAG"
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_ID/locations/global/config",
"ingestion": {
"rules": [
{
"integrationSelector": {
"integration": "INTEGRATION"
},
"lineageEnablement": {
"enabled": false
}
}
]
},
"etag": "1a2b3c4d5e"
}
Per disattivare l'importazione della derivazione per una cartella o un'organizzazione, sostituisci
projects/ con "PROJECT_IDfolders/ o FOLDER_IDorganizations/.ORGANIZATION_ID
Abilita l'importazione della derivazione per un servizio
Per riprendere il monitoraggio dopo averlo disattivato o per attivare un'integrazione disattivata per impostazione predefinita, attiva l'importazione della tracciabilità per un servizio.
Java
package com.google.cloud.datacatalog.lineage.configmanagement.v1.samples;
import com.google.api.gax.rpc.NotFoundException;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.Config.Ingestion.IngestionRule.LineageEnablement;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigManagementServiceClient;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.ConfigName;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.GetConfigRequest;
import com.google.cloud.datacatalog.lineage.configmanagement.v1.UpdateConfigRequest;
public class EnableLineageIngestion {
public static void main(String[] args) throws Exception {
// TODO(developer): Replace these variables before running the sample.
String projectId = "your-project-id";
String location = "global";
enableLineageIngestion(projectId, location);
}
// Enables lineage ingestion for a specific service
// (Managed Service for Apache Spark).
public static void enableLineageIngestion(String projectId, String location) throws Exception {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests.
try (ConfigManagementServiceClient client = ConfigManagementServiceClient.create()) {
// Format the resource name.
String name = ConfigName.ofProjectLocationName(projectId, location).toString();
Config.Builder configBuilder = Config.newBuilder().setName(name);
// It is a best practice to read the existing config to preserve other rules
// and use the etag for optimistic concurrency control.
try {
GetConfigRequest getRequest = GetConfigRequest.newBuilder().setName(name).build();
Config existingConfig = client.getConfig(getRequest);
configBuilder.mergeFrom(existingConfig);
} catch (NotFoundException e) {
// If config doesn't exist, we will proceed by creating a new one.
}
// Create an integration selector for the service you want to enable (e.g., DATAPROC).
IntegrationSelector selector =
IntegrationSelector.newBuilder().setIntegration(Integration.DATAPROC).build();
// Set lineage enablement to true to enable tracking.
LineageEnablement enablement = LineageEnablement.newBuilder().setEnabled(true).build();
// Build the ingestion rule.
IngestionRule enableRule =
IngestionRule.newBuilder()
.setIntegrationSelector(selector)
.setLineageEnablement(enablement)
.build();
// Preserve existing rules except for the one we are modifying, then add the new rule.
// We clear the ingestion block out of the configBuilder entirely to reconstruct it.
Ingestion.Builder ingestionBuilder = Ingestion.newBuilder();
if (configBuilder.hasIngestion()) {
for (IngestionRule rule : configBuilder.getIngestion().getRulesList()) {
// Keep all existing rules EXCEPT the one targeting DATAPROC
if (rule.getIntegrationSelector().getIntegration() != Integration.DATAPROC) {
ingestionBuilder.addRules(rule);
}
}
}
ingestionBuilder.addRules(enableRule);
// Update the config builder with the reconstructed ingestion settings.
configBuilder.setIngestion(ingestionBuilder.build());
// Build the update request.
UpdateConfigRequest request = UpdateConfigRequest.newBuilder()
.setConfig(configBuilder.build())
.build();
// Update the config.
Config response = client.updateConfig(request);
System.out.printf("Successfully updated config: %s\n", response.getName());
}
}
}
Python
from google.api_core.exceptions import NotFound
from google.cloud.datacatalog.lineage import configmanagement_v1
def enable_lineage_ingestion(project_id: str, location: str = "global") -> configmanagement_v1.Config:
"""Enables lineage ingestion for a specific service like Dataproc
(Managed Service for Apache Spark).
Args:
project_id: The ID of your Google Cloud project.
location: The region location, usually 'global'.
Returns:
The updated Configuration object.
"""
# Initialize client that will be used to send requests.
client = configmanagement_v1.ConfigManagementServiceClient()
# The config name format
name = f"projects/{project_id}/locations/{location}/config"
try:
# Retrieve the existing config to preserve other configurations and
# obtain the latest etag for optimistic concurrency control.
config = client.get_config(name=name)
# Filter out existing rules for the integration we are updating
new_rules = [
rule for rule in config.ingestion.rules
if rule.integration_selector.integration != configmanagement_v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration.DATAPROC
]
except NotFound:
# If the config does not exist, start fresh
config = configmanagement_v1.Config(name=name)
new_rules = []
# Define the integration to enable tracking for (e.g., DATAPROC).
integration_selector = configmanagement_v1.Config.Ingestion.IngestionRule.IntegrationSelector(
integration=configmanagement_v1.Config.Ingestion.IngestionRule.IntegrationSelector.Integration.DATAPROC
)
# Set lineage enablement to True to enable tracking.
lineage_enablement = configmanagement_v1.Config.Ingestion.IngestionRule.LineageEnablement(
enabled=True
)
# Create the ingestion rule.
enable_rule = configmanagement_v1.Config.Ingestion.IngestionRule(
integration_selector=integration_selector,
lineage_enablement=lineage_enablement,
)
# Append the new enabling rule and assign it back to the config ingestion rules
new_rules.append(enable_rule)
config.ingestion = configmanagement_v1.Config.Ingestion(rules=new_rules)
# Create the update request using the config (which includes the etag if it existed).
request = configmanagement_v1.UpdateConfigRequest(
config=config,
)
# Make the request to update the config
response = client.update_config(request=request)
print(f"Successfully updated config: {response.name}")
return response
gcloud
Per attivare l'importazione della derivazione per un servizio specifico,
utilizza il comando gcloud datalineage config update con una stringa JSON incorporata o un percorso a un file JSON che imposta lineageEnablement.enabled su true per integration specifico. Le integrazioni attuali includono Managed Service for Apache Spark, BigQuery e Managed Airflow.
L'esempio seguente mostra come attivare l'importazione della derivazione di un servizio per un progetto utilizzando una stringa JSON incorporata:
gcloud datalineage config update --project=PROJECT_ID \
--config='{
"ingestion": {
"rules": [
{
"integrationSelector": {
"integration": "INTEGRATION"
},
"lineageEnablement": {
"enabled": true
}
}
]
},
"etag": "ETAG"
}'
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto di cui vuoi aggiornare la configurazione.INTEGRATION: l'integrazione per cui hai impostato la configurazione (ad esempioDATAPROCoBIGQUERY).ETAG: il valore dietagrestituito da una recente richiestagetnel corpo della richiesta, utilizzato per verificare che la configurazione non sia cambiata dall'ultima richiesta di lettura.
Per aggiornare la configurazione utilizzando un file JSON, esegui:
gcloud datalineage config update --project=PROJECT_ID --config=CONFIG_FILE
Sostituisci quanto segue:
CONFIG_FILE: il percorso del file JSON contenente la configurazione.
Per abilitare l'importazione della derivazione di un servizio per una cartella o un'organizzazione, sostituisci
--project= con uno dei
seguenti valori:PROJECT_ID
--folder=se vuoi aggiornare le impostazioni diimportazione datii per una cartella.FOLDER_ID--organization=se vuoi aggiornare le impostazioni di importazione dati per un'organizzazione.ORGANIZATION_ID
REST
Per attivare l'importazione della derivazione per un servizio specifico,
utilizza il metodo projects.locations.config.patch con una regola di importazione che
imposta lineageEnablement.enabled su true per lo specifico integration.
Per evitare di sovrascrivere involontariamente le configurazioni apportate da altri utenti negli scenari di lettura-modifica-scrittura, puoi includere il campo etag nel corpo della richiesta. Per saperne di più, consulta la sezione
Recuperare la configurazione attuale.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
CLIENT_PROJECT_ID: L'ID del progetto client utilizzato per la fatturazione o le quote.PROJECT_ID: l'ID del progetto di cui vuoi aggiornare la configurazione.ETAG: il valoreetagrestituito da una recente richiestaget.INTEGRATION: ilintegrationper cui hai impostato la configurazione. Ad esempio:DATAPROC.
Metodo HTTP e URL:
PATCH https://datalineage.googleapis.com/v1/projects/PROJECT_ID/locations/global/config
Corpo JSON della richiesta:
{
"ingestion": {
"rules": [
{
"integrationSelector": {
"integration": "INTEGRATION"
},
"lineageEnablement": {
"enabled": true
}
}
]
},
"etag": "ETAG"
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_ID/locations/global/config",
"ingestion": {
"rules": [
{
"integrationSelector": {
"integration": "INTEGRATION"
},
"lineageEnablement": {
"enabled": true
}
}
]
},
"etag": "1a2b3c4d5e"
}
Per attivare l'importazione della derivazione di un servizio per una cartella o un'organizzazione, sostituisci
projects/ con PROJECT_IDfolders/ o
FOLDER_IDorganizations/.ORGANIZATION_ID
Configurare l'importazione della derivazione per diversi servizi
Per configurare l'importazione della derivazione per più integrazioni contemporaneamente, utilizza i metodi projects.locations.config.patch, folders.locations.config.patch o organizations.locations.config.patch. Puoi aggiornare la configurazione a livello di progetto, cartella o organizzazione definendo più regole nel corpo della richiesta. Per ulteriori informazioni, vedi Come funziona la configurazione dell'importazione dati per le integrazioni multiservizio.
Livello dell'organizzazione
Configura l'organizzazione in modo da attivare l'importazione della derivazione per Managed Service for Apache Spark:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "X-Goog-User-Project: CLIENT_PROJECT_ID" \
"https://datalineage.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/config" \
-d '{
"ingestion": {
"rules": [
{
"integrationSelector": {
"integration": "DATAPROC"
},
"lineageEnablement": {
"enabled": true
}
}
]
},
"etag": "ORGANIZATION_CONFIG_ETAG"
}'
Sostituisci quanto segue:
ORGANIZATION_ID: l'ID dell'organizzazione di cui vuoi aggiornare la configurazione.CLIENT_PROJECT_ID: l'ID del progetto client utilizzato per la fatturazione o le quote.ORGANIZATION_CONFIG_ETAG: il valoreetagrestituito da una recente richiestagetper la configurazione dell'organizzazione.
Livello di cartella
Configura la cartella per abilitare l'acquisizione della tracciabilità per BigQuery:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "X-Goog-User-Project: CLIENT_PROJECT_ID" \
"https://datalineage.googleapis.com/v1/folders/FOLDER_ID/locations/global/config" \
-d '{
"ingestion": {
"rules": [
{
"integrationSelector": {
"integration": "BIGQUERY"
},
"lineageEnablement": {
"enabled": true
}
}
]
},
"etag": "FOLDER_CONFIG_ETAG"
}'
Sostituisci quanto segue:
FOLDER_ID: l'ID della cartella di cui vuoi aggiornare la configurazione.CLIENT_PROJECT_ID: l'ID del progetto client utilizzato per la fatturazione o le quote.FOLDER_CONFIG_ETAG: il valoreetagrestituito da una recente richiestagetper la configurazione della cartella.
Livello progetto
Configura il progetto per disattivare l'importazione della derivazione per BigQuery e attivare l'importazione della derivazione per Managed Service for Apache Airflow contemporaneamente:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "X-Goog-User-Project: CLIENT_PROJECT_ID" \
"https://datalineage.googleapis.com/v1/projects/PROJECT_ID/locations/global/config" \
-d '{
"ingestion": {
"rules": [
{
"integrationSelector": {
"integration": "BIGQUERY"
},
"lineageEnablement": {
"enabled": false
}
},
{
"integrationSelector": {
"integration": "MANAGED_AIRFLOW"
},
"lineageEnablement": {
"enabled": true
}
}
]
},
"etag": "PROJECT_CONFIG_ETAG"
}'
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto di cui vuoi aggiornare la configurazione.CLIENT_PROJECT_ID: l'ID del progetto client utilizzato per la fatturazione o le quote.PROJECT_CONFIG_ETAG: il valoreetagrestituito da una recente richiestagetper la configurazione del progetto.
Passaggi successivi
- Scopri di più sul controllo dell'importazione della derivazione dei dati.
- Scopri come visualizzare le informazioni sulla tracciabilità.