Storage Insights-Datasets konfigurieren

Sie können Storage Insights-Datasets so konfigurieren, dass Metadaten und Aktivitätsdaten aus Ihren Cloud Storage-Buckets und -Objekten erfasst und analysiert werden. Anhand der Statistiken, die aus diesen Datasets generiert werden, können Sie Möglichkeiten zur Kostenoptimierung ermitteln, Sicherheitsprüfungen durchführen und das Betriebsmonitoring unterstützen. In diesem Dokument erfahren Sie, wie Sie Storage Insights-Datasets konfigurieren.

Hinweis

Führen Sie die folgenden Schritte aus, bevor Sie ein Dataset konfigurieren.

Erforderliche Rollen abrufen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihre Quellprojekte zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren von Datasets benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Konfigurieren von Datasets erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Datasets zu konfigurieren:

  • Dataset konfigurieren:
    • storageinsights.datasetConfigs.create
    • storage.buckets.getObjectInsights
  • Link zum BigQuery-Dataset: storageinsights.datasetConfigs.linkDataset

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Storage Insights API aktivieren

Console

API storageinsights.googleapis.com aktivieren

Befehlszeile

Führen Sie den Befehl gcloud services enable aus, um die Storage Insights API in Ihrem aktuellen Projekt zu aktivieren:

gcloud services enable storageinsights.googleapis.com

Weitere Informationen zum Aktivieren von Diensten für ein Google Cloud -Projekt finden Sie unter Dienste aktivieren und deaktivieren.

Storage Intelligence konfigurieren

Achten Sie darauf, dass Storage Intelligence für das Projekt, den Ordner oder die Organisation konfiguriert ist, die Sie mit Datasets analysieren möchten.

Dataset-Konfiguration erstellen

So erstellen Sie eine Dataset-Konfiguration: Weitere Informationen zu den Feldern, die Sie für die Dataset-Konfiguration angeben können, finden Sie unter Dataset-Konfigurationsattribute.

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Storage Insights von Cloud Storage.

    Zu Storage Insights

  2. Klicken Sie auf Dataset konfigurieren.

  3. Geben Sie im Abschnitt Dataset benennen einen Namen für das Dataset ein. Geben Sie optional eine Beschreibung für das Dataset ein. Namen identifizieren Dataset-Konfigurationen und sind unveränderlich. Der Name kann bis zu 128 Zeichen enthalten, darunter Buchstaben, Ziffern und Unterstriche, und muss mit einem Buchstaben beginnen.

  4. Führen Sie im Abschnitt Dataset-Bereich definieren folgende Schritte aus:

    • Wählen Sie eine der folgenden Optionen aus:

      • Wenn Sie Speichermetadaten für alle Projekte in der aktuellen Organisation abrufen möchten, wählen Sie Organisation einschließen aus.

      • Wenn Sie Speichermetadaten für alle Projekte in den ausgewählten Ordnern abrufen möchten, wählen Sie Ordner einschließen (Unterorganisation/Abteilungen) aus. Informationen zum Abrufen von Ordner-IDs finden Sie unter Ordner und Projekte ansehen oder auflisten. So fügst du Ordner hinzu:

        1. Geben Sie im Feld Folder 1 die Ordner-ID ein.
        2. Optional: Wenn Sie mehrere Ordner-IDs hinzufügen möchten, klicken Sie auf + Weiteren Ordner hinzufügen.
      • Wenn Sie Speichermetadaten für die ausgewählten Projekte abrufen möchten, wählen Sie Projekte durch Angabe der Projektnummern hinzufügen aus. Informationen zum Ermitteln von Projektnummern finden Sie unter Projektname, ‑nummer und ‑ID finden. So fügen Sie Projekte hinzu:

        1. Geben Sie im Feld Projekt 1 die Projektnummer ein.
        2. Optional können Sie mehrere Projektnummern hinzufügen, indem Sie auf + Weiteres Projekt hinzufügen klicken.
      • Wenn Sie mehrere Projekte oder Ordner gleichzeitig hinzufügen möchten, wählen Sie Liste mit Projekten/Ordnern über CSV-Datei hochladen aus. Die CSV-Datei muss die Projektnummern oder Ordner-IDs enthalten, die in das Dataset aufgenommen werden sollen. Sie können bis zu 10.000 Projekte oder Ordner in einer Dataset-Konfiguration angeben.

    • Geben Sie an, ob zukünftige Buckets automatisch in die ausgewählte Ressource aufgenommen werden sollen.

    • Optional können Sie Filter für Buckets basierend auf Regionen und Bucket-Präfixen angeben. Maximieren Sie dazu den Bereich Filter (optional). Filter werden additiv auf Buckets angewendet.

      Sie können Buckets aus bestimmten Regionen ein- oder ausschließen. Sie können beispielsweise Buckets in den Regionen me-central1 und me-central2 ausschließen. Sie können Buckets auch nach Präfix ein- oder ausschließen. Wenn Sie beispielsweise Buckets ausschließen möchten, die mit my-bucket beginnen, geben Sie das Präfix my-bucket* ein.

  5. Klicken Sie auf Weiter.

  6. Wählen Sie im Abschnitt Aufbewahrungsdauer auswählen eine Aufbewahrungsdauer für die Daten im Dataset aus.

  7. Aktivitätsdaten sind standardmäßig im Dataset enthalten und übernehmen die Aufbewahrungsdauer des Datasets. Wenn Sie die Aufbewahrungsdauer des Datasets überschreiben möchten, wählen Sie Aufbewahrungsdauer für Aktivitätsdaten festlegen aus und geben Sie dann die Anzahl der Tage an, für die Aktivitätsdaten aufbewahrt werden sollen. Wenn Sie Aktivitätsdaten deaktivieren möchten, legen Sie die Aufbewahrungsdauer auf 0 Tage fest.

  8. Wählen Sie im Abschnitt Ort zum Speichern des konfigurierten Datasets auswählen einen Speicherort für das verknüpfte Dataset aus. Beispiel: us-central1.

    Das verknüpfte Dataset muss sich an einem von BigQuery unterstützten Standort befinden. Quell-Buckets können sich jedoch an einem beliebigen Cloud Storage-Standort befinden.

  9. Wählen Sie im Abschnitt Dienstkontotyp auswählen einen Dienst-Agent-Typ für Ihr Dataset aus. Wählen Sie für Ihr Dataset entweder einen konfigurationsbezogenen oder einen projektbezogenen Dienst-Agent aus.

  10. Klicken Sie auf Konfigurieren.

Befehlszeile

  1. Führen Sie den Befehl gcloud storage insights dataset-configs create mit den erforderlichen Flags aus, um eine Dataset-Konfiguration zu erstellen:

    gcloud storage insights dataset-configs create DATASET_CONFIG_ID \
      --location=LOCATION \
      --organization=SOURCE_ORG_NUMBER \
      --retention-period-days=DATASET_RETENTION_PERIOD_DAYS \
      (SCOPE_FLAG)
    

    Ersetzen Sie:

    • DATASET_CONFIG_ID durch den Namen Ihrer Dataset-Konfiguration. Namen identifizieren Dataset-Konfigurationen und sind unveränderlich. Der Name darf bis zu 128 Zeichen enthalten, darunter Buchstaben, Ziffern und Unterstriche, und muss mit einem Buchstaben beginnen.

    • LOCATION durch den Speicherort für das verknüpfte Dataset. Beispiel: us-central1

    Das verknüpfte Dataset muss sich an einem von BigQuery unterstützten Speicherort befinden. Quell-Buckets können sich jedoch an einem beliebigen Cloud Storage-Speicherort befinden.

    • SOURCE_ORG_NUMBER durch die ID der Organisation, zu der die Quellprojekte gehören. Informationen zum Abrufen Ihrer Organisations-ID finden Sie unter Organisationsressourcen-ID abrufen.

    • DATASET_RETENTION_PERIOD_DAYS durch die Aufbewahrungsdauer für die Daten im Dataset.

    • SCOPE_FLAG mit einem der folgenden Flags, das den Umfang der zu erhebenden Daten definiert:

      • --enable-organization-scope: Ermöglicht dem Dataset, Statistiken aus allen Buckets innerhalb der Organisation zu erfassen.
      • --source-folders=[SOURCE_FOLDER_NUMBERS,...]: Gibt eine Liste von Ordnernummern an, die in das Dataset aufgenommen werden sollen. Informationen zum Ermitteln einer Ordnernummer finden Sie unter Alle Projekte und Ordner in Ihrer Hierarchie auflisten.
      • --source-folders-file=FILE_PATH: Gibt mehrere Ordnernummern an, indem eine CSV-Datei in einen Bucket hochgeladen wird.
      • --source-projects=[SOURCE_PROJECT_NUMBERS,...]: Gibt eine Liste von Projektnummern an, die im Dataset enthalten sein sollen. Beispiel: 464036093014. Informationen zum Ermitteln der Projektnummer finden Sie unter Projektname, Projektnummer und Projekt-ID ermitteln.
      • --source-projects-file=FILE_PATH: Gibt mehrere Projektnummern an, indem eine CSV-Datei in einen Bucket hochgeladen wird.

    Optional können Sie die folgenden zusätzlichen Flags verwenden, um das Dataset zu konfigurieren:

    • Mit --include-buckets=BUCKET_NAMES_OR_REGEX können Sie bestimmte Buckets nach Name oder regulärem Ausdruck einbeziehen. Sie können dieses Flag nicht mit --exclude-buckets verwenden.

    • Verwenden Sie --exclude-buckets=BUCKET_NAMES_OR_REGEX, um bestimmte Buckets nach Name oder regulärem Ausdruck auszuschließen. Dieses Flag kann nicht mit --include-buckets verwendet werden.

    • Mit --project=DESTINATION_PROJECT_ID können Sie ein Projekt zum Speichern der Dataset-Konfiguration und des generierten Datasets angeben. Wenn Sie dieses Flag nicht verwenden, ist das Zielprojekt Ihr aktives Projekt. Weitere Informationen zu Projekt-IDs finden Sie unter Projekte erstellen und verwalten.

    • Verwenden Sie --auto-add-new-buckets, um alle Buckets, die in Zukunft zu Quellprojekten hinzugefügt werden, automatisch einzuschließen.

    • Verwenden Sie --skip-verification, um Prüfungen und Fehler aus dem Überprüfungsverfahren zu überspringen, einschließlich Prüfungen auf erforderliche IAM-Berechtigungen. Wenn Sie dieses Flag verwenden, werden möglicherweise einige oder alle Buckets aus dem Dataset ausgeschlossen.

    • Verwenden Sie --identity=IDENTITY_TYPE, um den Bereich des Dienst-Agents anzugeben, der mit der Dataset-Konfiguration erstellt wurde. Mögliche Werte sind IDENTITY_TYPE_PER_CONFIG und IDENTITY_TYPE_PER_PROJECT. Wenn nicht angegeben, ist der Standardwert IDENTITY_TYPE_PER_CONFIG. Weitere Informationen finden Sie unter Dienst-Agent-Typ.

    • Verwenden Sie --description=DESCRIPTION, um eine Beschreibung für die Dataset-Konfiguration hinzuzufügen.

    • Verwenden Sie --activity-data-retention-period-days=ACTIVITY_RETENTION_PERIOD_DAYS, um die Aufbewahrungsdauer für die Aktivitätsdaten im Dataset anzugeben. Standardmäßig sind Aktivitätsdaten im Dataset enthalten und übernehmen die Aufbewahrungsdauer des Datasets. Wenn Sie die Aufbewahrungsdauer für das Dataset überschreiben möchten, geben Sie die Anzahl der Tage an, für die Aktivitätsdaten aufbewahrt werden sollen. Wenn Sie Aktivitätsdaten ausschließen möchten, setzen Sie ACTIVITY_RETENTION_PERIOD_DAYS auf 0.

    Im folgenden Beispiel wird eine Dataset-Konfiguration mit dem Namen my-dataset in der Region us-central1 für die Organisation mit der ID 123456789 erstellt. Die Aufbewahrungsdauer beträgt 30 Tage und der Bereich ist auf die Projekte 987654321 und 123123123 beschränkt:

    gcloud storage insights dataset-configs create my-dataset \
    --location=us-central1 \
    --organization=123456789 \
    --retention-period-days=30 \
    --source-projects=987654321,123123123
    

JSON API

  1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:

    {
      "sourceProjects": {
        "project_numbers": ["PROJECT_NUMBERS", ...]
      },
      "retentionPeriodDays": "RETENTION_PERIOD_DAYS",
      "activityDataRetentionPeriodDays": "ACTIVITY_DATA_RETENTION_PERIOD_DAYS",
      "identity": {
        "type": "IDENTITY_TYPE"
      }
    }

    Ersetzen Sie:

    • PROJECT_NUMBERS durch die Nummern der Projekte, die Sie in das Dataset aufnehmen möchten. Sie können ein oder mehrere Projekte angeben. Projekte müssen als Liste von Strings angegeben werden.

      Alternativ können Sie eine Organisation oder einen oder mehrere Ordner hinzufügen, die Buckets und Objekte enthalten, für die Sie die Metadaten aktualisieren möchten. Wenn Sie Ordner oder Organisationen einbeziehen möchten, verwenden Sie die Felder sourceFolders oder organizationScope. Weitere Informationen finden Sie in der Referenz zu DatasetConfig.

    • RETENTION_PERIOD_DAYS durch die Anzahl der Tage, für die Daten im Dataset-Snapshot erfasst werden sollen. Beispiel: 90.

    • ACTIVITY_DATA_RETENTION_PERIOD_DAYS mit der Anzahl der Tage der Aktivitätsdaten, die im Dataset-Snapshot erfasst werden sollen. Standardmäßig sind Aktivitätsdaten im Dataset enthalten und übernehmen die Aufbewahrungsdauer des Datasets. Wenn Sie die Aufbewahrungsdauer für das Dataset überschreiben möchten, geben Sie die Anzahl der Tage an, für die Aktivitätsdaten aufbewahrt werden sollen. Wenn Sie Aktivitätsdaten ausschließen möchten, setzen Sie ACTIVITY_RETENTION_PERIOD_DAYS auf 0.

    • IDENTITY_TYPE mit dem Typ des Dienstkontos, das zusammen mit der Dataset-Konfiguration erstellt wird. Mögliche Werte sind IDENTITY_TYPE_PER_CONFIG und IDENTITY_TYPE_PER_PROJECT. Weitere Informationen finden Sie unter Dienst-Agent-Typ.

  3. Verwenden Sie zum Erstellen der Dataset-Konfiguration cURL, um die JSON API mit einer Create-DatasetConfig-Anfrage aufzurufen:

    curl -X POST --data-binary @JSON_FILE_NAME \
    "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigs?datasetConfigId=DATASET_CONFIG_ID" \
      --header "Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json"

    Ersetzen Sie:

    • JSON_FILE_NAME durch den Pfad zur JSON-Datei, die Sie im vorherigen Schritt erstellt haben. Alternativ können Sie eine Instanz von DatasetConfig im Anfragetext übergeben.

    • PROJECT_ID durch die ID des Projekts, zu dem die Dataset-Konfiguration und das Dataset gehören.

    • LOCATION durch den Standort, an dem sich das Dataset und die Dataset-Konfiguration befinden. Beispiel: us-central1.

    • DATASET_CONFIG_ID durch den Namen Ihrer Dataset-Konfiguration. Namen identifizieren Dataset-Konfigurationen und sind unveränderlich. Der Name darf bis zu 128 Zeichen enthalten, darunter Buchstaben, Ziffern und Unterstriche, und muss mit einem Buchstaben beginnen.

    • SERVICE_ACCOUNT durch das Dienstkonto. Beispiel: test-service-account@test-project.iam.gserviceaccount.com.

Informationen zur Behebung von Fehlern bei der Snapshot-Verarbeitung, die in error_attributes_view protokolliert werden, finden Sie unter Storage Insights-Dataset-Fehler.

Erforderliche Berechtigungen für den Dienst-Agent erteilen

Google Cloud erstellt einen konfigurationsbezogenen oder projektbezogenen Dienst-Agent, wenn Sie eine Dataset-Konfiguration erstellen. Der Dienst-Agent folgt dem Namensformat service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com und wird auf der IAM-Seite in der Google Cloud Console angezeigt, wenn Sie das Kästchen Von Google bereitgestellte Rollenzuweisungen einschließen auswählen. Sie können den Namen des Dienst-Agents auch ermitteln, indem Sie die Ressource DatasetConfig mit der JSON API aufrufen.

Bitten Sie Ihren Administrator, dem Dienst-Agent die Rolle „Storage Insights Collector Service“ (roles/storage.insightsCollectorService) für die Organisation zuzuweisen, die die Quellprojekte enthält, damit Storage Insights Datasets generieren und schreiben kann. Sie müssen diese Rolle jedem konfigurationsbezogenen Dienst-Agent zuweisen, der für jede Dataset-Konfiguration erstellt wurde, aus der Sie Daten abrufen möchten. Wenn Sie einen projektbezogenen Dienst-Agenten verwenden, müssen Sie diese Rolle nur einmal für den Dienst-Agenten gewähren, damit er Datasets für alle Dataset-Konfigurationen im Projekt lesen und schreiben kann.

Eine Anleitung zum Zuweisen von Rollen für Projekte finden Sie unter Zugriff verwalten.

So verknüpfen Sie ein Dataset mit BigQuery:

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Storage Insights.

    Zu Storage Insights

  2. Klicken Sie auf den Namen der Dataset-Konfiguration, mit der das Dataset generiert wurde, das Sie verknüpfen möchten.

  3. Klicken Sie im Bereich Mit BigQuery verknüpftes Dataset auf Dataset verknüpfen, um Ihr Dataset zu verknüpfen.

  1. Um ein Dataset mit BigQuery zu verknüpfen, führen Sie den Befehl gcloud storage insights dataset-configs create-link aus:

    gcloud storage insights dataset-configs create-link DATASET_CONFIG_ID --location=LOCATION

    Ersetzen Sie:

    • DATASET_CONFIG_ID mit dem Namen der Dataset-Konfiguration, mit der das zu verknüpfende Dataset generiert wurde.

    • LOCATION durch den Standort des Datasets. Beispiel: us-central1

    Sie können auch einen vollständigen Dataset-Konfigurationspfad angeben. Beispiel:

    gcloud storage insights dataset-configs create-link projects/DESTINATION_PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID

    Ersetzen Sie:

    • Ersetzen Sie DESTINATION_PROJECT_ID durch die ID des Projekts, das die Dataset-Konfiguration enthält. Weitere Informationen zu Projekt-IDs finden Sie unter Projekte erstellen und verwalten.

    • DATASET_CONFIG_ID durch den Namen der Dataset-Konfiguration, mit der das zu verknüpfende Dataset generiert wurde.

    • LOCATION durch den Standort Ihres Datasets und Ihrer Dataset-Konfiguration. Beispiel: us-central1

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Verwenden Sie cURL, um die JSON API mit einer linkDataset-DatasetConfig-Anfrage aufzurufen:

    curl -X POST \
      "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigsDATASET_CONFIG_ID:linkDataset?" \
        --header "Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \
        --header "Accept: application/json" \
        --header "Content-Type: application/json"
    

    Ersetzen Sie:

    • JSON_FILE_NAME durch den Pfad zur JSON-Datei, die Sie erstellt haben.

    • PROJECT_ID durch die ID des Projekts, zu dem die Dataset-Konfiguration gehört.

    • LOCATION durch den Speicherort, an dem sich das Dataset und die Dataset-Konfiguration befinden. Beispiel: us-central1.

    • DATASET_CONFIG_ID mit dem Namen der Dataset-Konfiguration, mit der das zu verknüpfende Dataset generiert wurde.

    • SERVICE_ACCOUNT durch das Dienstkonto. Beispiel: test-service-account@test-project.iam.gserviceaccount.com.

Objektdaten und Metadaten mit BigQuery analysieren

Wenn Sie Objektinhalte analysieren oder Objektmetadaten ansehen möchten, verwenden Sie die Spalte ref, die als Teil eines Storage Insights-Datasets zurückgegeben wird, um BigQuery-ObjectRef-Funktionen auszuführen. Führen Sie die Schritte in den folgenden Abschnitten aus.

Cloud-Ressourcenverbindung in BigQuery erstellen

Erstellen Sie in BigQuery eine Cloud-Ressourcenverbindung, die auf Cloud Storage zugreift. Mit der Cloud-Ressourcenverbindung kann BigQuery über ein eigenes Dienstkonto auf Cloud Storage-Objektdaten und ‑Metadaten zugreifen. Weitere Informationen finden Sie unter Cloud-Ressourcenverbindung erstellen.

Cloud-Ressourcenverbindung mit Storage Insights-Dataset verwenden

Wenn Sie Daten analysieren möchten, auf die in der Spalte ref verwiesen wird und die als Teil eines Storage Insights-Datasets zurückgegeben werden, verwenden Sie die Funktion OBJ.MAKE_REF, um die URI aus der Spalte ref mit der von Ihnen erstellten Verbindung zu kombinieren:

SELECT
OBJ.GET_ACCESS_URL(OBJ.MAKE_REF(ref.uri, "CONNECTION_ID"), "r")
FROM `PROJECT_ID.INSIGHTS_DATASET.object_attributes_view` WHERE LOCATION = "US";

Ersetzen Sie:

  • CONNECTION_ID: die ID der von Ihnen erstellten Cloud-Ressourcenverbindung.
  • PROJECT_ID: die ID des Projekts, das das Storage Insights-Dataset enthält.
  • INSIGHTS_DATASET: der Name des Storage Insights-Datasets. Beispiel: storageinsights_dataset.

Storage Insights-Dataset mit einem benutzerdefinierten Modell analysieren

BigQuery unterstützt das Erstellen von Modellen direkt in einem verknüpften Dataset nicht. Wenn Sie Ihre Storage Insights-Daten mit einem benutzerdefinierten Modell analysieren möchten, müssen Sie das Modell in einem Standard-BigQuery-Dataset erstellen und speichern. Sie können dann in Ihren Abfragen auf dieses Modell verweisen, während Sie das verknüpfte Dataset für die Analyse verwenden:

  1. Erstellen Sie ein Modell in einem BigQuery-Dataset (MODEL_DATASET) im selben Projekt wie Ihr verknüpftes Dataset (INSIGHTS_DATASET):

    CREATE OR REPLACE MODEL `MODEL_DATASET.gemini_model`
    REMOTE WITH CONNECTION `CONNECTION_ID`
    OPTIONS (ENDPOINT = 'gemini-2.0-flash');

    Ersetzen Sie:

    • MODEL_DATASET: der Name des Datasets, in dem Sie das Modell erstellen möchten.
    • CONNECTION_ID: die ID der von Ihnen erstellten Cloud-Ressourcenverbindung.
  2. Führen Sie eine Abfrage aus, die auf das Modell verweist, um die Daten in Ihrem Storage Insights-Dataset zu analysieren. Im folgenden Beispiel wird eine Beschreibung für Bilder im Dataset hinzugefügt:

    SELECT
     name,
     result AS ai_description
    FROM
     AI.GENERATE_TEXT(
       MODEL `MODEL_DATASET.gemini_model`,
       (
         SELECT
           name,
           (
             'Describe this image',
             OBJ.GET_ACCESS_URL(
               OBJ.FETCH_METADATA(
                 OBJ.MAKE_REF(
                   ref.uri,
                   'CONNECTION_ID'
                 )
               ),
               'r'
             )
           ) AS prompt
         FROM
           `INSIGHTS_DATASET.object_attributes_view`
         WHERE
           contentType LIKE 'image/%'
           AND NOT name LIKE '%/'
         LIMIT 3
       )
     );

    Ersetzen Sie:

    • INSIGHTS_DATASET: der Name des Storage Insights-Datasets.
    • MODEL_DATASET: der Name des Datasets, in dem Sie das Modell erstellt haben.
    • CONNECTION_ID: die ID der von Ihnen erstellten Cloud-Ressourcenverbindung.

Storage Insights-Dataset mit einem Standardmodell analysieren

Sie können ein Standardmodell verwenden, um KI-Insights aus unstrukturierten Daten zu gewinnen und vertrauliche Daten zu erkennen.

Informationen aus unstrukturierten Daten gewinnen

Mit der folgenden Beispielabfrage werden Beschreibungen für JPEG-Bilder generiert:

SELECT AI.GENERATE(
   (
     'Return a JSON object with fields: "description" (max 20 words)',
     OBJ.GET_ACCESS_URL(
       OBJ.MAKE_REF(ref.uri, `CONNECTION_ID`),
       'r'
     )
   )
)
FROM  `PROJECT_ID.INSIGHTS_DATASET.object_attributes_view`
WHERE  name LIKE 'returns/electronics/%'
  AND contentType = 'image/jpeg';

Ersetzen Sie:

  • CONNECTION_ID: die ID der von Ihnen erstellten Cloud-Ressourcenverbindung.
  • PROJECT_ID: die ID des Projekts, das das Storage Insights-Dataset enthält.
  • INSIGHTS_DATASET: der Name des Storage Insights-Datasets.

Automatisierte Erkennung sensibler Daten

Sie können multimodale Modelle verwenden, um sensible Daten wie personenidentifizierbare Informationen in Ihren Dokumenten zu erkennen.

Mit der folgenden Abfrage können Sie PDF-Dokumente nach sensiblen Informationen durchsuchen:

SELECT AI.GENERATE(
   (
     'Does this document contain any credit card numbers or home addresses? Answer "SAFE" or "SENSITIVE".',
     OBJ.GET_ACCESS_URL(
       OBJ.MAKE_REF(ref.uri, `CONNECTION_ID`),
       'r'
     )
   )
)
FROM  `PROJECT_ID.INSIGHTS_DATASET.object_attributes_view`
WHERE contentType = 'application/pdf';

Ersetzen Sie:

  • CONNECTION_ID: die ID der von Ihnen erstellten Cloud-Ressourcenverbindung.
  • PROJECT_ID: die ID des Projekts, das das Storage Insights-Dataset enthält.
  • INSIGHTS_DATASET: der Name des Storage Insights-Datasets.

Objektkontexte analysieren

Wenn Ihr Dataset das object_contexts_catalog_view enthält, können Sie Objektkontexte und erweiterte Daten (Vorschau), z. B. Labels, Gesichtserkennungen und Begrenzungsrahmen, direkt in BigQuery abfragen.

Bild-Labeling: Objekte mit einem bestimmten Label finden

Mit der folgenden Abfrage werden Bilder mit einem bestimmten Label gefunden, die einen Konfidenzwert von mehr als 0,75 haben:

SELECT
  t.project,
  t.bucket,
  t.name,
  t.generation,
  label
FROM
  `PROJECT_ID.INSIGHTS_DATASET.object_contexts_catalog_view` AS t,
  UNNEST(t.contexts) AS context,
  UNNEST(JSON_QUERY_ARRAY(context.extendedData.labelAnnotationGroup.labelAnnotations)) AS label
WHERE
  context.key = "google:annotation:label-detector-v1"
  AND LOWER(STRING(label.description)) = 'LABEL_DESCRIPTION'
  AND FLOAT64(label.score) > 0.75;

Ersetzen Sie:

  • PROJECT_ID: die ID des Projekts, das das Storage Insights-Dataset enthält.
  • INSIGHTS_DATASET: der Name des Storage Insights-Datasets.
  • LABEL_DESCRIPTION: Die Labelbeschreibung, nach der gesucht werden soll, z. B. car oder clothing.

Gesichtserkennung: Fotos mit lächelnden Gesichtern finden

Mit der folgenden Abfrage wird nach Bildern mit Gesichtern gefiltert, bei denen die Wahrscheinlichkeit für Freude größer als 0,5 ist:

WITH
  face_stats AS (
    SELECT
      t.project,
      t.bucket,
      t.name,
      t.generation,
      FLOAT64(face.joyProbability) AS joy_probability,
      FLOAT64(face.rollAngle) AS roll_angle,
      FLOAT64(face.panAngle) AS pan_angle,
      FLOAT64(face.tiltAngle) AS tilt_angle
    FROM
      `PROJECT_ID.INSIGHTS_DATASET.object_contexts_catalog_view` AS t,
      UNNEST(t.contexts) AS context,
      UNNEST(JSON_QUERY_ARRAY(context.extendedData.faceAnnotationGroup.faceAnnotations)) AS face
    WHERE context.key = 'google:annotation:face-detector-v1'
  )
SELECT *
FROM face_stats
WHERE
  joy_probability > 0.5
  AND roll_angle BETWEEN -10 AND 10
  AND pan_angle BETWEEN -10 AND 10
  AND tilt_angle BETWEEN -10 AND 10
LIMIT 10;

Ersetzen Sie:

  • PROJECT_ID: die ID des Projekts, das das Storage Insights-Dataset enthält.
  • INSIGHTS_DATASET: der Name des Storage Insights-Datasets.

Objekterkennung: Begrenzungsrahmenkoordinaten für erkannte Objekte finden

Mit der folgenden Abfrage werden Begrenzungsrahmenkoordinaten für Objekte extrahiert, die mit einem Konfidenzwert von mehr als 0,50 erkannt wurden:

SELECT
  t.project,
  t.bucket,
  t.name AS object_name,
  t.generation,
  STRING(object.name) AS detected_object_name,
  FLOAT64(object.score) AS confidence_score,
  (
    SELECT AS STRUCT
      MIN(FLOAT64(v.x)) AS x_min,
      MIN(FLOAT64(v.y)) AS y_min,
      MAX(FLOAT64(v.x)) AS x_max,
      MAX(FLOAT64(v.y)) AS y_max
    FROM UNNEST(JSON_QUERY_ARRAY(object.boundingPoly.normalizedVertices)) AS v
  ).*
FROM
  `PROJECT_ID.INSIGHTS_DATASET.object_contexts_catalog_view` AS t,
  UNNEST(t.contexts) AS context,
  UNNEST(JSON_QUERY_ARRAY(context.extendedData.objectAnnotationGroup.objectAnnotations)) AS object
WHERE
  context.key = 'google:annotation:object-detector-v1'
  AND LOWER(STRING(object.name)) = 'DETECTED_OBJECT_NAME'
  AND FLOAT64(object.score) > 0.50
LIMIT 20;

Ersetzen Sie:

  • PROJECT_ID: die ID des Projekts, das das Storage Insights-Dataset enthält.
  • INSIGHTS_DATASET: der Name des Storage Insights-Datasets.
  • DETECTED_OBJECT_NAME: der Name der erkannten Objektklasse, nach der gesucht werden soll (z. B. drink oder car).

Nächste Schritte