Kopieren von Daten aus Google BigQuery V1 mithilfe von Azure Data Factory oder Synapse Analytics
GILT FÜR: Azure Data Factory
Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
In diesem Artikel wird beschrieben, wie Sie die Copy-Aktivität in Azure Data Factory- und Synapse Analytics-Pipelines verwenden, um Daten aus Google BigQuery zu kopieren. Er baut auf dem Artikel zur Übersicht über die Kopieraktivität auf, der eine allgemeine Übersicht über die Kopieraktivität enthält.
Wichtig
Der Google BigQuery V2-Connector bietet verbesserte native Google BigQuery-Unterstützung. Wenn Sie in Ihrer Lösung den Google BigQuery V1-Connector verwenden, upgraden Sie den Google BigQuery-Connector, da V1 das Ende des Supports erreicht hat. Ausführliche Informationen zu den Unterschieden zwischen V2 und V1 finden Sie in diesem Abschnitt.
Unterstützte Funktionen
Für den Google BigQuery-Connector werden die folgenden Funktionen unterstützt:
Unterstützte Funktionen | IR |
---|---|
Kopieraktivität (Quelle/-) | ① ② |
Lookup-Aktivität | ① ② |
① Azure Integration Runtime ② Selbstgehostete Integration Runtime
Eine Liste der Datenspeicher, die als Quellen oder Senken für die Kopieraktivität unterstützt werden, finden Sie in der Tabelle Unterstützte Datenspeicher.
Der Dienst enthält einen integrierten Treiber zum Herstellen der Konnektivität. Aus diesem Grund müssen Sie Treiber für die Verwendung dieses Connectors nicht manuell installieren.
Der Connector unterstützt die Windows-Versionen in diesem Artikel.
Hinweis
Dieses Google BigQuery-Connector wird basierend auf den BigQuery-APIs erstellt. Beachten Sie, dass BigQuery die maximale Rate eingehender Anforderung begrenzt und entsprechende Kontingente projektbezogen durchsetzt, siehe Kontingente & Limits – API-Anfragen. Stellen Sie sicher, dass Sie nicht zu viele gleichzeitige Anforderungen für das Konto auslösen.
Voraussetzungen
Um diesen Connector zu verwenden, benötigen Sie die folgenden Mindestberechtigungen von Google BigQuery:
- bigquery.connections.*
- bigquery.datasets.*
- bigquery.jobs.*
- bigquery.readsessions.*
- bigquery.routines.*
- bigquery.tables.*
Erste Schritte
Sie können eines der folgenden Tools oder SDKs verwenden, um die Kopieraktivität mit einer Pipeline zu verwenden:
- Das Tool „Daten kopieren“
- Azure-Portal
- Das .NET SDK
- Das Python SDK
- Azure PowerShell
- Die REST-API
- Die Azure Resource Manager-Vorlage
Erstellen eines verknüpften Dienstes mit Google BigQuery über die Benutzeroberfläche
Gehen Sie wie folgt vor, um einen verknüpften Dienst mit Google BigQuery in der Benutzeroberfläche des Azure-Portals zu erstellen.
Navigieren Sie zur Registerkarte Verwalten in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich, wählen Sie Verknüpfte Dienste und klicken Sie dann auf Neu:
Suchen Sie nach Google und wählen Sie den Google BigQuery Connector aus.
Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.
Details zur Konfiguration des Connectors
Die folgenden Abschnitte enthalten Details zu Eigenschaften, die zur Definition von Entitäten verwendet werden, die für den Google BigQuery Connector spezifisch sind.
Eigenschaften des verknüpften Diensts
Folgende Eigenschaften werden für den mit Google BigQuery verknüpften Dienst unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
type | Die „type“-Eigenschaft muss auf GoogleBigQuery festgelegt werden. | Ja |
project | Das Projekt-ID des BigQuery-Standardprojekts, das abgefragt werden soll. | Ja |
additionalProjects | Eine durch Trennzeichen getrennte Liste mit Projekt-IDs öffentlicher BigQuery-Projekte, auf die zugegriffen werden soll. | Nein |
requestGoogleDriveScope | Ob Zugriff auf Google Drive angefordert werden soll. Das Zulassen des Zugriffs auf Google Drive ermöglicht die Unterstützung von Verbundtabellen, die BigQuery-Daten mit Daten auf Google Drive kombinieren. Der Standardwert ist false. | Nein |
authenticationType | Der OAuth 2.0-Authentifizierungsmechanismus, der für die Authentifizierung verwendet wird. „ServiceAuthentication“ kann nur für eine selbstgehostete Integration Runtime verwendet werden. Zulässige Werte sind UserAuthentication und ServiceAuthentication. Weitere Eigenschaften und JSON-Beispiele für diese Authentifizierungstypen finden Sie in den Abschnitten nach dieser Tabelle. |
Ja |
Verwenden der Benutzerauthentifizierung
Legen Sie die Eigenschaft „authenticationType“ auf UserAuthentication fest, und geben Sie zusammen mit den im vorherigen Abschnitt beschriebenen generischen Eigenschaften die folgenden Eigenschaften an:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
clientId | Die ID der Anwendung, die verwendet wird, um das Aktualisierungstoken zu generieren. | Ja |
clientSecret | Das Geheimnis der Anwendung, das verwendet wird, um das Aktualisierungstoken zu generieren. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. | Ja |
refreshToken | Das Aktualisierungstoken, das von Google für die Autorisierung des Zugriffs auf BigQuery abgerufen wird. Informationen dazu, wie Sie ein Token erhalten, finden Sie unter Abrufen von OAuth 2.0-Zugriffstoken und in diesem Communityblog. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. | Ja |
Der Mindestumfang, der zum Abrufen eines OAuth 2.0-Aktualisierungstokens erforderlich ist https://www.googleapis.com/auth/bigquery.readonly
. Wenn du planst, eine Abfrage auszuführen, die möglicherweise große Ergebnisse liefert, kann ein anderer Bereich erforderlich sein. Weitere Informationen finden Sie in diesem Artikel.
Beispiel:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project ID>",
"additionalProjects" : "<additional project IDs>",
"requestGoogleDriveScope" : true,
"authenticationType" : "UserAuthentication",
"clientId": "<id of the application used to generate the refresh token>",
"clientSecret": {
"type": "SecureString",
"value":"<secret of the application used to generate the refresh token>"
},
"refreshToken": {
"type": "SecureString",
"value": "<refresh token>"
}
}
}
}
Verwenden der Dienstauthentifizierung
Legen Sie die Eigenschaft „authenticationType“ auf ServiceAuthentication fest, und geben Sie zusammen mit den im vorherigen Abschnitt beschriebenen generischen Eigenschaften die folgenden Eigenschaften an. Dieser Authentifizierungstyp kann nur für eine selbstgehostete Integration Runtime verwendet werden.
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
Die E-Mail-ID des Dienstkontos, die für „ServiceAuthentication“ verwendet wird. Diese kann nur für die selbstgehostete Integration Runtime verwendet werden. | Nein | |
keyFilePath | Der vollständige Pfad zur .json -Schlüsseldatei, die zur Authentifizierung der E-Mail-Adresse des Servicekontos verwendet wird. |
Ja |
trustedCertPath | Der vollständige Pfad der PEM-Datei mit vertrauenswürdigen Zertifizierungsstellenzertifikaten zur Überprüfung des Servers beim Verbindungsaufbau über TLS. Diese Eigenschaft kann nur festgelegt werden, wenn Sie TLS für die selbstgehostete Integration Runtime verwenden. Der Standardwert ist die Datei „cacerts.pem“, die mit der Integration Runtime installiert wird. | Nein |
useSystemTrustStore | Gibt an, ob ein Zertifizierungsstellenzertifikat aus dem Vertrauensspeicher des Systems oder aus einer angegebenen PEM-Datei verwendet werden soll. Der Standardwert ist false. | Nein |
Hinweis
P12-Schlüsseldateien werden nicht mehr unterstützt. Wenn Sie Dienstkonten nutzen, sollten Sie stattdessen JSON-Schlüsseldateien verwenden. Die Eigenschaft „P12CustomPwd“ zur Unterstützung der P12-Schlüsseldatei ist ebenfalls veraltet und wurde entfernt. Weitere Informationen finden Sie in diesem Artikel.
Beispiel:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project id>",
"requestGoogleDriveScope" : true,
"authenticationType" : "ServiceAuthentication",
"email": "<email>",
"keyFilePath": "<.json key path on the IR machine>"
},
"connectVia": {
"referenceName": "<name of Self-hosted Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Dataset-Eigenschaften
Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie im Artikel zu Datasets. Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom Google BigQuery-Dataset unterstützt werden.
Legen Sie zum Kopieren von Daten aus Google BigQuery die „type“-Eigenschaft des Datasets auf GoogleBigQueryObject fest. Folgende Eigenschaften werden unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
type | Die type-Eigenschaft des Datasets muss auf folgenden Wert festgelegt werden: GoogleBigQueryObject | Ja |
dataset | Name des Google BigQuery-Datasets. | Nein (wenn „query“ in der Aktivitätsquelle angegeben ist) |
table | Der Name der Tabelle. | Nein (wenn „query“ in der Aktivitätsquelle angegeben ist) |
tableName | Der Name der Tabelle. Diese Eigenschaft wird aus Gründen der Abwärtskompatibilität weiterhin unterstützt. Verwenden Sie für eine neue Workload dataset und table . |
Nein (wenn „query“ in der Aktivitätsquelle angegeben ist) |
Beispiel
{
"name": "GoogleBigQueryDataset",
"properties": {
"type": "GoogleBigQueryObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<GoogleBigQuery linked service name>",
"type": "LinkedServiceReference"
}
}
}
Eigenschaften der Kopieraktivität
Eine vollständige Liste mit den Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie im Artikel Pipelines. Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom Google BigQuery-Quelltyp unterstützt werden.
GoogleBigQuerySource als Quelltyp
Legen Sie zum Kopieren von Daten aus Google BigQuery den Quelltyp in der Kopieraktivität auf GoogleBigQuerySource fest. Die folgenden Eigenschaften werden im Abschnitt source der Kopieraktivität unterstützt.
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
type | Die „type“-Eigenschaft der Quelle der Kopieraktivität muss auf GoogleBigQuerySource festgelegt werden. | Ja |
Abfrage | Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. z. B. "SELECT * FROM MyTable" . |
Nein (wenn „tableName“ im Dataset angegeben ist) |
Beispiel:
"activities":[
{
"name": "CopyFromGoogleBigQuery",
"type": "Copy",
"inputs": [
{
"referenceName": "<GoogleBigQuery input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "GoogleBigQuerySource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Eigenschaften der Lookup-Aktivität
Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.
Zugehöriger Inhalt
Eine Liste der Datenspeicher, die als Quelles und Senken für die Kopieraktivität unterstützt werden, finden Sie in Unterstützte Datenspeicher.