Mithilfe von Vertex ML-Metadaten können Sie die von Ihren Systemen für maschinelles Lernen (ML) generierten Metadaten verfolgen und analysieren. Das Verfolgen dieser Metadaten vereinfacht das Analysieren des Verhaltens Ihres ML-Systems. So können Sie Änderungen in der Leistung Ihres Systems nachvollziehen oder die Artefakte vergleichen, die Ihr ML-System erzeugt hat.
Wenn Sie neu bei Vertex ML Metadata sind, lesen Sie die Einführung in Vertex ML Metadata, um weitere Informationen zum Tracking und Analysieren der Metadaten Ihres ML-Workflows zu erhalten.
In diesem Dokument werden die Abfragen für die Vertex ML-Metadaten erläutert, die Sie analysieren möchten:
- Abfrage aller Artefakte, Ausführungen, oder Kontexte, die Ihren Filterkriterien entsprechen.
- Abfrage der Eingabe- und Ausgabeartefakte einer Ausführung zusammen mit den Ereignissen, die zum Verbinden der Artefakte mit der Ausführung verwendet werden.
- Abfrage des Herkunftsunterdiagramms eines Kontextes. Diese Abfrage gibt die Artefakte und Ausführungen eines Kontextes sowie die Ereignisse zurück, die Artefakte mit Ausführungen verbinden.
Artefakte, Ausführungen und Kontexte abfragen
Sie können das Vertex AI SDK für Python oder die REST API verwenden, um über Filter Artefakte, Ausführungen und Kontexteinträge abzufragen:
- Welche Versionen eines trainierten Modells haben einen bestimmten Qualitätsgrenzwert erreicht?
- Welches Dataset wird in einer bestimmten Pipeline verwendet?
In den folgenden Abschnitten wird gezeigt, wie Sie Filter erstellen und wie Sie damit Abfragen nach Artefakten, Ausführungen und Kontexten durchführen können.
Übersicht über die Filtersyntax
In den folgenden Abschnitten wird beschrieben, wie Sie mithilfe von Filtern Artefakte, Ausführungen und Kontexte abfragen.
Felder
Die folgenden Felder werden beim Filtern von Artefakten, Ausführungen und Kontexten unterstützt.
Artefakt | Ausführung | Kontext | |
---|---|---|---|
name |
|||
display_name |
|||
schema_title |
|||
create_time |
|||
update_time |
|||
metadata |
|||
state |
|||
uri |
Der Filter muss in Anführungszeichen gesetzt werden und alle Anführungszeichen, die Teil des Filters sind, müssen mit einem umgekehrten Schrägstrich maskiert werden.
Vergleichsoperator
Sie können die folgenden Vergleichsoperatoren in den Filtern verwenden: =
, !=
, <
, >
, >=
, <=
.
Mit den folgenden Filtern können Sie beispielsweise alle Artefakte ermitteln, deren Anzeigename my_artifact lautet.
REST
display_name=\"my_artifact\"
Python
"display_name=\"my_artifact\""
Für Stringfelder können Sie die Platzhalterfilterung mit dem *
-Zeichen verwenden.
Bei Zeitstempelfeldern wie create_time
und update_time
müssen Sie das Datum im Format RFC 3339 formatieren. Beispiel:
REST
create_time=\"2021-05-11T12:30:00-08:00\"
Python
"create_time=\"2021-05-11T12:30:00-08:00\""
Logische Operatoren
Sie können die logischen Operatoren AND
und OR
verwenden, um Filter zu kombinieren und eine komplexe Abfrage zu erstellen.
Das folgende Beispiel zeigt, wie Artefakte vom Typ ai_platform.model
und das metadata
-Feld precision
mit einem numerischen Wert größer als 0,9 abgefragt werden.
REST
schema_title=\"ai_platform.Model\"+AND+metadata.precision.number_value>0.9
Python
"create_time=\"schema_title=\"ai_platform.Model\" AND metadata.precision.number_value>0.9"
Mit dem Operator "traversal" nach Metadaten filtern
Das Feld metadata
ist eine Instanz von google.protobuf.Struct
, dessen Format in dem Schema definiert ist, das im Feld schema_title
angegeben wird. google.protobuf.Struct
ist eine Datenstruktur, die google.protobuf.Value
-Instanzen Schlüssel zuordnet. In der Datenstruktur google.protobuf.Value
werden Werte je nach Datentyp in unterschiedlichen Feldern gespeichert. Beispiel:
- Strings werden als
metadata.FIELD_NAME.string_value
gespeichert, - Zahlen werden als
metadata.FIELD_NAME.number_value
gespeichert, - boolesche Werte werden als
metadata.FIELD_NAME.bool_value
gespeichert.
Wenn Sie nach metadata
filtern möchten, müssen Sie den Operator "traversal" verwenden, um zu dem Feld zu gelangen, nach dem Sie filtern möchten. Der Operator "traversal" hat folgendes Format:
REST
metadata.FIELD_NAME.TYPE_NAME=\"FILTER_VALUE\"
Python
"metadata.FIELD_NAME.TYPE_NAME=\"FILTER_VALUE\""
Betrachten Sie beispielsweise die folgende Metadatenstruktur:
{
"field_1": 5,
"field_2": "example",
"field_3": {
...
},
"field_4": [],
"field_5": true,
}
Die folgenden Abfragen zeigen, wie Sie mit dem Operator "traversal" nach diesen Beispielmetadaten filtern können.
Filtern Sie nach Einträgen mit
metadata.field_1
mit einem Wert unter 5.
REST
metadata.field_1.number_value<5
Python
"metadata.field_1.number_value<5"
Filtern Sie nach Einträgen mit
metadata.field_2
mit einem Wert gleich example.
REST
metadata.field_2.string_value=\"example\"
Python
"metadata.field_2.string_value=\"example\""
Filtern Sie nach Einträgen mit
metadata.field_5
mit einem Wert gleich true.
REST
metadata.field_5.bool_value=true
Python
"metadata.field_5.bool_value=true"
Nach Kontexten anhand ihrer übergeordneten/untergeordneten Beziehungen filtern
Mit dem Operator has können Sie nach Kontexten suchen, die einem bestimmten Kontext über- oder untergeordnet sind.
Der „has“-Operator hat folgendes Format:
"parent_contexts:\"CONTEXT_RESOURCE_NAME\""
"child_contexts:\"CONTEXT_RESOURCE_NAME\""
Der Kontextname muss der vollständige Ressourcenname des Kontextes sein, wie im Folgenden dargestellt:
project/PROJECT/locations/LOCATION/metadataStores/METADATA-STORE/contexts/CONTEXT
.
Die folgenden Filter zeigen, wie der Operator „has“ verwendet wird:
Nach allen Kontexten filtern, die der angegebenen Pipeline untergeordnet sind.
REST
parent_contexts:\"project/12345/locations/us-central1/metadataStores/default/contexts/pipeline_1\"
Python
"parent_contexts:\"project/12345/locations/us-central1/metadataStores/default/contexts/pipeline_1\""
Nach allen Kontexten filtern, die der angegebenen Pipeline übergeordnet sind.
REST
child_contexts:\"project/12345/locations/us-central1/metadataStores/default/contexts/pipeline_1\"
Python
"child_contexts:\"project/12345/locations/us-central1/metadataStores/default/contexts/pipeline_1\""
Kontexte, Ausführungen und Artefakte nach Verknüpfung und Attribution filtern
Mit der Funktion in_context()
können Sie nach Artefakten oder Ausführungen filtern, die einem Kontext zugeordnet sind. Mit der Funktion with_execution()
können Sie nach bestimmten Artefakten oder Kontexten filtern, die einer Ausführung zugeordnet sind. Ebenso können Sie die Funktion with_artifact()
verwenden, um nach bestimmten Ausführungen oder Kontexten zu filtern, die einem Artefakt zugeordnet sind.
Die Filterfunktionen werden im folgenden Format verwendet.
"in_context(\"CONTEXT_RESOURCE_NAME\")"
"with_execution(\"EXECUTION_RESOURCE_NAME\")"
"with_artifact(\"ARTIFACT_RESOURCE_NAME\")"
Der Kontext, die Ausführung und die Artefaktnamen müssen der vollständige Ressourcenname sein, wie im Folgenden dargestellt.
project/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA-STORE/contexts/CONTEXT
project/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA-STORE/executions/EXECUTION
project/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA-STORE/artifacts/ARTIFACT
Das folgende Beispiel zeigt, wie Sie nach Objekten in der angegebenen Pipeline filtern.
REST
in_context(\"project/12345/locations/us-central1/metadataStores/default/contexts/pipeline_1\")
Python
"in_context(\"project/12345/locations/us-central1/metadataStores/default/contexts/pipeline_1\")"
Sie können einen Platzhalter *
in den Filterfunktionen verwenden, um nach Parametern jeder Ressource zu filtern. Sie können beispielsweise mit dem folgenden Befehl alle Ausführungen filtern, die auf den Artefakttyp system.model
angewendet werden.
REST
with_artifact(\"*\",\"schema_title='name.model'\")
Python
"with_artifact(\"*\",\"schema_title='name.model'\")"
Weitere unterstützte Parameter, nach denen Sie filtern können:
input=true/false
: Eingabe- oder Ausgabeartefakttypen filtern.event_time
: Ausführungen oder Ereigniszeiten von Artefakten filtern.- Alle anderen unterstützten Filterfelder
Sie können die Felder mit logischen Operanden kombinieren, um komplexe Filterabfragen zu erstellen. Beachten Sie, dass die maximale unterstützte verschachtelte Funktionstiefe 5 ist.
Artefakte abfragen
Artefakte wie Datasets und Modelle stellen Daten dar, die von Ihrem ML-Workflow verwendet oder erstellt wurden. Verwenden Sie die folgende Anleitung, um Artifakte abzufragen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- METADATA_STORE: Die ID des Metadatenspeichers, in dem das Artefakt erstellt wird.
Der Standardmetadatenspeicher heißt
default
. - PAGE_SIZE: (Optional) Die maximale Anzahl der zurückzugebenden Artefakte. Wenn dieser Wert nicht angegeben ist, gibt der Dienst maximal 100 Einträge zurück.
- PAGE_TOKEN: (Optional) Ein Seitentoken aus einem vorherigen Aufruf von MetadataService.ListArtifacts. Geben Sie dieses Token an, um die nächste Ergebnisseite abzurufen.
FILTER: Gibt die Bedingungen an, die erforderlich sind, um eine Ausführung in die Ergebnismenge aufzunehmen.
HTTP-Methode und URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Ausgabe sieht in etwa so aus: ARTIFACT_ID: (Optional) Die ID des Artefakteintrags.
{ "artifacts": [ { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/artifacts/ARTIFACT_ID", "displayName": "Example artifact", "uri": "gs://your_bucket_name/artifacts/dataset.csv", "etag": "67891011", "createTime": "2021-05-18T00:33:13.833Z", "updateTime": "2021-05-18T00:33:13.833Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the example artifact." }, { "name": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "displayName": "Another example artifact", "uri": "gs://your_bucket_name/artifacts/dataset-2.csv", "etag": "67891012", "createTime": "2021-05-18T00:29:24.344Z", "updateTime": "2021-05-18T00:29:24.344Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the other example artifact." } ] }
Python
Python
project
: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.location
: Siehe Liste der verfügbaren Standorte.display_name_filter
: Filter, der auf den Anzeigenamen angewendet werden soll, während die Ressourcen im Format "display_name=\"my_filter\"" aufgelistet werden.create_date_filter
: Filter, der auf den Namen "create_date" angewendet werden soll, während die Ressourcen im Format "create_time>\"2022-06-11T12:30:00-08:00\"", aufgelistet werden.
Ausführungen abfragen
Ausführungen stellen einen Schritt in Ihrem ML-Workflow dar, wie z. B. das Vorverarbeiten von Daten oder das Trainieren eines Modells. Gehen Sie nach der folgenden Anleitung vor, um Ausführungen abzufragen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird.
Der Standardmetadatenspeicher heißt
default
. - PAGE_SIZE: (Optional) Die maximale Anzahl der zurückzugebenden Artefakte. Wenn dieser Wert nicht angegeben ist, gibt der Dienst maximal 100 Einträge zurück.
- PAGE_TOKEN: (Optional) Ein Seitentoken aus einem vorherigen Aufruf von MetadataService.ListArtifacts. Geben Sie dieses Token an, um die nächste Ergebnisseite abzurufen.
FILTER: Gibt die Bedingungen an, die erforderlich sind, um eine Ausführung in die Ergebnismenge aufzunehmen.
HTTP-Methode und URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Ausgabe sieht in etwa so aus: EXECUTION_ID: Die ID des Ausführungsdatensatzes.
{ "executions": [ { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID", "displayName": "Example execution 1", "etag": "67891011", "createTime": "2021-05-18T00:06:56.177Z", "updateTime": "2021-05-18T00:06:56.177Z", "schemaTitle": "system.Run", "schemaVersion": "0.0.1", "metadata": {}, "description": "Description of the example execution." }, { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID", "displayName": "Example execution 2", "etag": "67891011", "createTime": "2021-05-18T00:04:49.659Z", "updateTime": "2021-05-18T00:04:49.659Z", "schemaTitle": "system.Run", "schemaVersion": "0.0.1", "metadata": {}, "description": "Description of the example execution." } ] }
Python
Python
project
: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.location
: Siehe Liste der verfügbaren Standorte.display_name_filter
: Filter, der auf den Anzeigenamen angewendet werden soll, während die Ressourcen im Format "display_name=\"my_filter\"" aufgelistet werden.create_date_filter
: Filter, der auf den Namen "create_date" angewendet werden soll, während die Ressourcen im Format "create_time>\"2022-06-11T12:30:00-08:00\"", aufgelistet werden.
Kontexte abfragen
Mit Kontexten können Sie Ausführungen, Artefakte und andere Kontexte gruppieren. Verwenden Sie die folgende Anleitung, um Kontexte abzufragen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird.
Der Standardmetadatenspeicher heißt
default
. - PAGE_SIZE: (Optional) Die maximale Anzahl der zurückzugebenden Artefakte. Wenn dieser Wert nicht angegeben ist, gibt der Dienst maximal 100 Einträge zurück.
- PAGE_TOKEN: (Optional) Ein Seitentoken aus einem vorherigen Aufruf von MetadataService.ListArtifacts. Geben Sie dieses Token an, um die nächste Ergebnisseite abzurufen.
FILTER: Gibt die Bedingungen an, die erforderlich sind, um einen Kontext in die Ergebnismenge aufzunehmen.
HTTP-Methode und URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Ausgabe sieht in etwa so aus: CONTEXT_ID: Die ID des Kontext-Eintrags.
{ "contexts": [ { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID", "displayName": "Experiment 1", "etag": "67891011", "createTime": "2021-05-18T22:36:02.153Z", "updateTime": "2021-05-18T22:36:02.153Z", "parentContexts": [], "schemaTitle": "system.Experiment", "schemaVersion": "0.0.1", "metadata": {} }, { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID", "displayName": "Pipeline run 1", "etag": "67891011", "createTime": "2021-05-18T22:35:02.600Z", "updateTime": "2021-05-18T22:35:02.600Z", "parentContexts": [], "schemaTitle": "system.PipelineRun", "schemaVersion": "0.0.1", "metadata": {} } ] }
Eingabe- und Ausgabeartefakte einer Ausführung abfragen
Gehen Sie nach der folgenden Anleitung vor, um die Artefakte und Ausführungen im angegebenen Kontext sowie die Ereignisse abzufragen, die Artefakte mit den Ausführungen verbinden.
Vertex AI SDK für Python
Eingabeartefakte
Dieses Python SDK-Beispiel umfasst die Abfrage der Eingabeartefakte einer Ausführung.
Python
Ausgabeartefakte
Dieses Python SDK-Beispiel umfasst die Abfrage der Ausgabeartefakte einer Ausführung.
Python
REST
Dieses REST-Beispiel enthält eine Abfrage für die Eingabe- und Ausgabeartefakte einer Ausführung.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird.
Der Standardmetadatenspeicher heißt
default
. - EXECUTION_ID: Die ID des Ausführungsdatensatzes.
HTTP-Methode und URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID:queryExecutionInputsAndOutputs
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Ausgabe sieht in etwa so aus: EXECUTION_ID: Die ID des Ausführungsdatensatzes. Wenn die Ausführungs-ID nicht angegeben ist, hat Vertex ML-Metadaten eine eindeutige Kennzeichnung für diese Ausführung erstellt. ARTIFACT_ID: (Optional) Die ID des Artefakteintrags.
{ "artifacts": [ { "name": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "displayName": "Example artifact", "uri": "gs://your_bucket_name/artifacts/dataset.csv", "etag": "678901011", "createTime": "2021-05-18T00:29:24.344Z", "updateTime": "2021-05-18T00:29:24.344Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the example artifact." }, { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "displayName": "Example artifact 2", "uri": "gs://your_bucket_name/artifacts/dataset.csv", "etag": "678901011", "createTime": "2021-05-18T00:33:13.833Z", "updateTime": "2021-05-18T00:33:13.833Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the example artifact." } ], "executions": [ { "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID", "displayName": "Example execution 1", "etag": "678901011", "createTime": "2021-05-18T00:04:49.659Z", "updateTime": "2021-05-18T00:04:49.659Z", "schemaTitle": "system.Run", "schemaVersion": "0.0.1", "metadata": {}, "description": "Description of the example execution." } ], "events": [ { "artifact": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "execution": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/executions/EXECUTION_ID", "eventTime": "2021-05-18T00:04:49.659Z",, "type": "INPUT", }, { "artifact": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "execution": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/executions/EXECUTION_ID", "eventTime": "2021-05-18T00:04:49.659Z",, "type": "OUTPUT", } ] }
Abfrage des Herkunftsunterdiagramms eines Kontexts
Gehen Sie nach der folgenden Anleitung vor, um die Artefakte und Ausführungen im angegebenen Kontext sowie die Ereignisse abzufragen, die Artefakte mit den Ausführungen verbinden.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Ihre Region.
- PROJECT_ID: Ihre Projekt-ID.
- METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird.
Der Standardmetadatenspeicher heißt
default
. - CONTEXT_ID: (Optional) Die ID des Kontext-Eintrags.
HTTP-Methode und URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID:queryContextLineageSubgraph
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Ausgabe sieht in etwa so aus: EXECUTION_ID: Die ID des Ausführungsdatensatzes. Wenn die Ausführungs-ID nicht angegeben ist, hat Vertex ML-Metadaten eine eindeutige Kennzeichnung für diese Ausführung erstellt. ARTIFACT_ID: (Optional) Die ID des Artefakteintrags.
{ "artifacts": [ { "name": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "displayName": "Example artifact", "uri": "gs://your_bucket_name/artifacts/dataset.csv", "etag": "678901011", "createTime": "2021-05-18T00:29:24.344Z", "updateTime": "2021-05-18T00:29:24.344Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the example artifact." }, { "name": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "displayName": "Example artifact 2", "uri": "gs://your_bucket_name/artifacts/dataset.csv", "etag": "678901011", "createTime": "2021-05-18T00:33:13.833Z", "updateTime": "2021-05-18T00:33:13.833Z", "state": "LIVE", "schemaTitle": "system.Dataset", "schemaVersion": "0.0.1", "metadata": { "payload_format": "CSV" }, "description": "Description of the example artifact." } ], "executions": [ { "name": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/executions/EXECUTION_ID", "displayName": "Example execution 1", "etag": "678901011", "createTime": "2021-05-18T00:04:49.659Z", "updateTime": "2021-05-18T00:04:49.659Z", "schemaTitle": "system.Run", "schemaVersion": "0.0.1", "metadata": {}, "description": "Description of the example execution." } ], "events": [ { "artifact": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "execution": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/executions/EXECUTION_ID", "eventTime": "2021-05-18T00:04:49.659Z",, "type": "INPUT", }, { "artifact": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "execution": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/executions/EXECUTION_ID", "eventTime": "2021-05-18T00:04:49.659Z",, "type": "OUTPUT", } ] }