[GO] Überprüfen Sie, ob in Java BigQuery-Tabellen vorhanden sind

Einführung

So überprüfen Sie, ob es in Java eine BigQuery-Tabelle gibt.

Um GCP herum ist es viel einfacher, das SDK (com.google.cloud. *) Zu verwenden als das API-SDK (com.google.api.services. *). Wenn Sie herumgehen, wird "com.google.api.services" häufiger angezeigt. Wenn Sie es also kopieren, handelt es sich um einen sehr komplizierten Code: heat_smile:

Abhängigkeit

build.gradle sieht so aus.

apply plugin: 'java'
apply plugin: 'application'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.google.cloud:google-cloud-bigquery:+'
}

mainClassName = "Main"

run {
    if (project.hasProperty('args')) {
        args project.args.split('\\s+')
    }
}

Code

Wenn gefunden, wird Found ausgegeben, und wenn nicht gefunden, wird Not found ausgegeben. Wenn Sie im Argument den JSON-Schlüssel des Dienstkontos angeben, wird dieser authentifiziert, andernfalls wird das Standardkonto verwendet.

import com.google.auth.oauth2.ServiceAccountCredentials;
import com.google.cloud.bigquery.*;

import java.io.FileInputStream;
import java.io.IOException;

public class Main {
    private static final String DATASET = "yourdataset";
    private static final String TABLE = "yourtable";

    public static void main(String args[]) throws IOException {
        BigQuery bigQuery;
        if (args.length > 0) {
            bigQuery = getClientWithJsonKey(args[0]);
        } else {
            bigQuery = BigQueryOptions.getDefaultInstance().getService();
        }

        Table table = bigQuery.getTable(DATASET, TABLE);
        if (table != null) {
            System.out.println("Found!");
        } else {
            System.err.println("Not found");
        }
    }

    private static BigQuery getClientWithJsonKey(String key) throws IOException {
        return BigQueryOptions.newBuilder()
                .setCredentials(ServiceAccountCredentials.fromStream(new FileInputStream(key)))
                .build()
                .getService();
    }
}

Lauf

$ ./gradlew run -Pargs="/path/to/key.json"

#Oder
$ ./gradlew run

abschließend

Wenn Sie nur mit "com.google.api.services" Ihr Bestes geben, sieht es so aus, und selbst die Authentifizierung ist wahnsinnig kompliziert: müde_gesicht: https://github.com/googlearchive/bigquery-samples-java/blob/master/src/main/java/com/google/cloud/bigquery/samples/BigQueryJavaGettingStarted.java

Der Code für diese Zeit ist hier: Bleistift: https://github.com/nownabe/examples/tree/master/bigquery-table-existence

Recommended Posts

Überprüfen Sie, ob in Java BigQuery-Tabellen vorhanden sind
Überprüfen Sie die Funktionsweise von Python für .NET in jeder Umgebung
Überprüfen Sie die Existenz der Datei mit Python
Überprüfen Sie, ob in Python externe Befehle vorhanden sind (z. B. `which`).
Überprüfen Sie die atrophische Natur der Wahrscheinlichkeitsverteilung in Python
Überprüfen Sie die Verarbeitungszeit und die Anzahl der Aufrufe für jeden Prozess mit Python (cProfile).
Testcode, um auf der Seite nach defekten Links zu suchen
Das Ergebnis des maschinellen Lernens von Java-Ingenieuren mit Python www
Zusammenfassung der Stolperpunkte in Django zum ersten Mal
Ermitteln Sie die Anzahl der Vorkommen für jedes Element in der Liste
Google sucht mit Python nach der Zeichenfolge in der letzten Zeile der Datei
Überprüfen Sie Python auf Speicherlecks
So bestimmen Sie die Existenz eines Selenelements in Python
Suchen Sie mit Python nach externen Befehlen
Wrap (Teil der) AtCoder Library in Cython zur Verwendung in Python
So implementieren Sie Java-Code im Hintergrund von Red Hat (Linux ONE)
Die Geschichte der Teilnahme an AtCoder
Überprüfen Sie die Zunahme / Abnahme der Bitmünzen für jede Adresse aus der Blockchain
Existenz aus Sicht von Python
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Muster der Verantwortungskette in Java
[TensorFlow 2] So überprüfen Sie den Inhalt von Tensor im Diagrammmodus
Die Geschichte des "Lochs" in der Akte
Überprüfen Sie den Speicherschutz von Linux Kern mit Code für ARM
Überprüfen Sie die Datenzusammenfassung in CASTable
for, continue, break Erläutern Sie den Ablauf der iterativen Verarbeitung in Python3-Teil 1
Annäherungserklärung für Anfänger, um in Kaggle Titanic_3 unter den besten 1,5% (0,83732) zu sein
[Ota Ward] Überprüfen Sie den Status der Antragsbearbeitung auf besondere Pauschalleistungen
Überprüfen Sie die speicherinterne Byte-Zeichenfolge der Gleitkommazahl in Python
Annäherungserklärung für Anfänger, um in Kaggle Titanic_1 unter den besten 1,5% (0,83732) zu sein
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Was Java-Benutzer davon gehalten haben, die Go-Sprache für einen Tag zu verwenden
Holen Sie sich den Schlüssel für die Migration von JSON-Daten auf der zweiten Ebene mit Python
Annäherungserklärung für Anfänger, um in Kaggle Titanic_2 unter den besten 1,5% (0,83732) zu sein
[Verständnis in 3 Minuten] Der Beginn von Linux
Die Geschichte eines Fehlers in PyOCR
Beginn der Phtyon-Programmierung für Java-Acquirer ①
So überprüfen Sie die Version von Django
Implementieren Sie einen Teil des Prozesses in C ++
Zusammenfassung verschiedener for-Anweisungen in Python
Ändern Sie die Liste in der for-Anweisung
Überprüfen Sie, ob die URL in Python vorhanden ist
Das Ergebnis der Installation von Python auf Anaconda
Überprüfen Sie den Pfad des importierten Python-Moduls
MongoDB mit Python zum ersten Mal
Grundlagen zum Ausführen von NoxPlayer in Python
Die dritte Nacht der Runde mit für
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Die zweite Nacht der Runde mit für
Auf der Suche nach dem schnellsten FizzBuzz in Python
[IOS] Ändern Sie die Anzeigezeit für jedes Bild der GIF-Animation in Pythonista3.
Wie man eine Benutzergruppe mit Slack-Benachrichtigung erwähnt, wie man die ID einer Benutzergruppe überprüft
Holen Sie sich das Ergebnis der umgekehrten GeoCoding auf Japanisch mit dem Java SDK von GoogleMapsAPI.
CERTIFICATE_VERIFY_FAILED in Python 3.6, dem offiziellen Installationsprogramm für macOS
Geben Sie die Anzahl der CPU-Kerne in Python aus
Überprüfen Sie den Betrieb von OpenCV3, das von Anaconda installiert wurde
[Python] Checklistenelemente alle, alle
Bedeutung von {Versionsnummer} im MySQL-RPM-Paket
Die Geschichte, dass die Lernkosten von Python niedrig sind