Sur cette page, vous allez apprendre à utiliser l'API Datastream pour:
- Créer des profils de connexion pour une base de données Oracle source, une base de données MySQL source, une base de données PostgreSQL source, une organisation Salesforce source, une destination BigQuery et une destination Cloud Storage
- Récupérer des informations sur les profils de connexion, les mettre à jour et les supprimer
- Découvrir la structure des profils de connexion source ou de destination
Vous pouvez utiliser l'API Datastream de deux manières. Vous pouvez effectuer des appels d'API REST ou utiliser la Google Cloud CLI (CLI).
Pour obtenir des informations générales sur l'utilisation de gcloud
afin de gérer les profils de connexion Datastream, consultez la documentation du SDK Google Cloud.
Créer un profil de connexion pour une base de données Oracle source
Le code suivant montre une requête de création d'un profil de connexion pour une base de données Oracle, et spécifie la méthode de connectivité comme utilisant des adresses IP statiques (liste d'autorisation d'adresses IP).
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "[connection-profile-display-name]", "oracleProfile": { "hostname": "HOST_ID_ADDRESS ", "port":PORT , "username": "USERNAME ", "password": "PASSWORD ", "databaseService": "DATABASE " }, "staticServiceIpConnectivity": {} }
Exemple :
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=myOracleCP { "displayName": "my Oracle database", "oracleProfile": { "hostname": "1.2.3.4", "port": 1521, "username": "admin", "password": "12345" "databaseService": "ORCL", }, "staticServiceIpConnectivity": {} }
Le code suivant montre une requête de création d'un profil de connexion pour une base de données Oracle et spécifie la méthode de connectivité en tant que connectivité privée (appairage VPC).
Cette méthode établit une connectivité sécurisée entre Datastream et la base de données source (en interne dans Google Cloud, ou avec des sources externes connectées via VPN ou Interconnect). Cette communication se fait via une connexion d'appairage de VPC.
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "[connection-profile-display-name]", "oracleProfile": { "hostname": "HOST_ID_ADDRESS ", "port":PORT , "username": "USERNAME ", "password": "PASSWORD ", "databaseService": "DATABASE " }, "privateConnectivity": { "privateConnection": "https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /privateConnections/ [private-connectivity-configuration-id]" } }
Exemple :
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=myOracleVPCPeeringCP { "displayName": "my Oracle database", "oracleProfile": { "hostname": "1.2.3.4", "port": 1521, "username": "admin", "password": "12345" "databaseService": "ORCL", }, "privateConnectivity": { "privateConnection": "https://datastream.googleapis.com/v1/projects/ myProjectId/locations/us-central1/privateConnections/myPrivateConnection" } }
Une fois le profil de connexion créé, vous pouvez afficher des informations le concernant en appelant la méthode connectionProfiles/get
. Un résultat semblable aux lignes suivantes s'affiche :
{ "name": "projects/projectId/location/us-central1/connectionProfiles/myOracleVPCPeeringCP", "createTime": "2019-12-22T16:17:37.159786963Z", "updateTime": "2019-12-22T16:17:37.159786963Z", "displayName": "my Oracle database", "oracleProfile": { "hostname": "1.2.3.4", "port": 1521, "databaseService": "ORCL", "username": "admin" }, "privateConnectivity": { "privateConnection": "https://datastream.googleapis.com/v1/projects/ myProjectId/locations/us-central1/privateConnections/myPrivateConnection" } }
Pour en savoir plus sur l'utilisation de gcloud
afin de créer un profil de connexion pour une base de données Oracle source, cliquez ici.
Créer un profil de connexion pour une base de données MySQL source
Le code suivant montre une requête de création d'un profil de connexion pour une base de données MySQL, et spécifie la méthode de connectivité comme utilisant des adresses IP statiques (liste d'autorisation d'adresses IP).
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "[connection-profile-display-name]", "mysqlProfile": { "hostname": "HOST_ID_ADDRESS ", "port":PORT , "username": "USERNAME ", "password": "PASSWORD " }, "staticServiceIpConnectivity": {} }
Exemple :
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=mysql-cp { "displayName": "my MySQL database", "mysqlProfile": { "hostname": "1.2.3.4", "port": 3306, "username": "root", "password": "12345" }, "staticServiceIpConnectivity": {} }
Pour en savoir plus sur l'utilisation de gcloud
pour créer un profil de connexion pour une base de données MySQL source, cliquez ici.
Créer un profil de connexion pour une base de données PostgreSQL source
Le code suivant montre une requête de création d'un profil de connexion pour une base de données PostgreSQL.
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "[connection-profile-display-name]", "postgresqlProfile": { "hostname": "HOST_ID_ADDRESS ", "port":PORT , "username": "USERNAME ", "password": "PASSWORD ", "database": "DATABASE " }, "staticServiceIpConnectivity": {} }
Exemple :
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=postgres-cp { "displayName": "my PostgreSQL database", "postgresqlProfile": { "hostname": "1.2.3.4", "database": "postgres", "port": 5432, "username": "root", "password": "12345" }, "staticServiceIpConnectivity": {} }
Pour en savoir plus sur l'utilisation de gcloud
pour créer des profils de connexion, cliquez ici.
Créer un profil de connexion pour une base de données SQL Server source
Le code suivant montre une requête de création d'un profil de connexion pour une base de données SQL Server, et spécifie la méthode de connectivité comme utilisant des adresses IP statiques (liste d'autorisation d'adresses IP).
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "[connection-profile-display-name]", "sqlserverProfile": { "hostname": "HOST_ID_ADDRESS ", "port":PORT , "username": "USERNAME ", "password": "PASSWORD ", "database": "DATABASE " }, "staticServiceIpConnectivity": {} }
Exemple :
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=sqlserver-cp { "displayName": "my SQL Server database", "mysqlProfile": { "hostname": "1.2.3.4", "port": 1433, "username": "root", "password": "12345" "database": "database1" }, "staticServiceIpConnectivity": {} }
Pour en savoir plus sur l'utilisation de gcloud
pour créer des profils de connexion, consultez la documentation du SDK Google Cloud.
Créer un profil de connexion pour une source Salesforce
Le code suivant montre une requête de création d'un profil de connexion pour une instance Salesforce source à l'aide d'un nom d'utilisateur et d'un mot de passe comme méthode d'authentification.
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "CONNECTION_PROFILE_NAME ", "salesforceProfile": { "domain": "DOMAIN_NAME ", "userCredentials": { "username": "USERNAME ", "password": "PASSWORD ", "securitytoken": "SECURITY_TOKEN " } } }
Exemple :
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=saleforce-cp { "displayName": "My Salesforce connection profile", "salesforceProfile": { "domain": "domain.my.salesforce.com", "userCredentials": { "username": "mySalesforceUser", "password": "12345", "securitytoken": "C08120F510542FFB1C3640F57AF19E2D5D700556A25F7D665C3B428407709D8C" } } }
Pour en savoir plus sur l'utilisation de gcloud
pour créer des profils de connexion, consultez la documentation du SDK Google Cloud.
Le code suivant montre une requête de création d'un profil de connexion pour une instance Salesforce source à l'aide d'identifiants client OAuth 2.0 comme méthode d'authentification.
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "CONNECTION_PROFILE_NAME ", "salesforceProfile": { "domain": "DOMAIN_NAME ", "oauth2ClientCredentials": { "clientId": "CLIENT_ID ", "clientSecret": "CLIENT_SECRET " } } }
Exemple :
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=saleforce-cp { "displayName": "My Salesforce connection profile", "salesforceProfile": { "domain": "domain.my.salesforce.com", "oauth2ClientCredentials": { "clientId": "myClientId", "clientSecret": "projects/myProject/secrets/sf-client-secret" } } }
Pour en savoir plus sur l'utilisation de gcloud
pour créer des profils de connexion, consultez la documentation du SDK Google Cloud.
Créer un profil de connexion pour une destination BigQuery
Le code suivant montre une requête de création d'un profil de connexion pour une destination BigQuery.
POST https://datastream.googleapis.com/v1/projects/[project-id /locations/LOCATION /connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "connection-profile-display-name", "bigqueryProfile": {} }
Exemple :
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=myBigqueryCP { "displayName": "my BigQuery destination", "bigqueryProfile": {} }
Pour en savoir plus sur l'utilisation de gcloud
pour créer des profils de connexion, cliquez ici.
Créer un profil de connexion pour une destination Cloud Storage
Le code suivant montre une requête de création d'un profil de connexion pour un bucket Cloud Storage. Étant donné que Cloud Storage se trouve sur le même réseau que Datastream, aucune connectivité spéciale n'est requise. Par conséquent, aucune méthode de connectivité n'est spécifiée.
POST https://datastream.googleapis.com/v1/projects/[project-id /locations/LOCATION /connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "connection-profile-display-name", "gcsProfile": { "bucketName": "bucket-name", "rootPath": "prefix-inside-bucket" } }
Exemple :
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=myGcsCP { "displayName": "my Cloud Storage bucket", "gcsProfile": { "bucketName": "myBucket", "rootPath": "prefix-inside-bucket" } }
Pour en savoir plus sur l'utilisation de gcloud
pour créer un profil de connexion pour Cloud Storage, consultez la documentation du SDK Cloud.
Obtenir des informations sur un profil de connexion
Le code suivant montre une requête visant à récupérer des informations sur un profil de connexion pour une base de données Oracle source, une base de données MySQL source, une destination BigQuery ou une destination Cloud Storage créée.
GET https://datastream.googleapis.com/v1/projects/project-id /locations/LOCATION /connectionProfiles/CONNECTION_PROFILE_ID
Exemple :
GET https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles/myOracleCP
Pour en savoir plus sur l'utilisation de gcloud
afin de récupérer des informations sur votre profil de connexion, cliquez ici.
Répertorier les profils de connexion
Le code suivant montre une requête de récupération d'informations sur tous vos profils de connexion.
GET https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /connectionProfiles
Pour en savoir plus sur l'utilisation de gcloud
afin de récupérer des informations sur tous vos profils de connexion, cliquez ici.
Mettre à jour un profil de connexion
Le code suivant montre une requête de modification du nom d'utilisateur et du mot de passe d'un profil de connexion existant pour une base de données source.
Si vous utilisez le paramètre updateMask
dans la requête, seuls les champs que vous spécifiez doivent être inclus dans le corps de la requête (dans cet exemple, les champs username
et password
, représentés par les options oracle_profile.username
etoracle_profile.password
, respectivement).
PATCH https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /connectionProfiles/CONNECTION_PROFILE_ID ? updateMask=oracle_profile.username,oracle_profile.password { "oracleProfile": { "username": "USERNAME ", "password": "PASSWORD " } }
Exemple :
PATCH https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles/myOracleCP? updateMask=oracle_profile.username,oracle_profile.password { "oracleProfile": { "username": "username", "password": "password" } }
Le code suivant montre une requête de modification de la configuration de connectivité privée attribuée à un profil de connexion. Ce profil de connexion utilise la méthode de connectivité réseau d'appairage VPC.
Dans cet exemple, vous attribuez la configuration new_private_connection
au profil de connexion.
PATCH -d {\"private_connectivity\":{\"private_connection_name\":\ "https://datastream.googleapis.com/v1/ projects/PROJECT_ID /locations/LOCATION /privateConnections/ new_private_connection\"}}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/v1/ projects/PROJECT_ID /locations/LOCATION /connectionProfiles/CONNECTION_PROFILE_ID ?update_mask=private_connectivity.private_connection_name
Exemple :
PATCH -d {\"private_connectivity\":{\"private_connection_name\":\ "https://datastream.googleapis.com/v1/ projects/myProjectId/locations/us-central1/privateConnections/ new_private_connection\"}}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/v1/projects/ myProjectId/locations/us-central1/connectionProfiles/ myOracleVPCPeeringCP?update_mask=private_connectivity.private_connection_name
Pour en savoir plus sur l'utilisation de gcloud
afin de mettre à jour votre profil de connexion, cliquez ici.
Supprimer un profil de connexion
Le code suivant montre une requête de suppression d'un profil de connexion. Une fois le profil de connexion supprimé, les flux qui l'utilisent échouent.
DELETE https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /connectionProfiles/CONNECTION_PROFILE_ID
Exemple :
DELETE https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles/myOracleCP
Pour en savoir plus sur la suppression de votre profil de connexion à l'aide de gcloud
, cliquez ici.
Découvrir la structure d'une base de données source
Utilisez l'API discoverConnectionProfile
pour récupérer la liste des entités (par exemple, les schémas et les tables) à partir d'une source, ainsi que les métadonnées associées aux entités.
L'API peut recevoir en paramètre un ID de profil de connexion existant ou une définition complète d'objet de profil de connexion. La fonction peut renvoyer un seul niveau (par exemple, tous les schémas d'une base de données ou toutes les tables d'un schéma) ou toutes les entités de manière récursive (par exemple, les schémas, les tables et les colonnes).
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /connectionProfiles:discoverConnectionProfile?CONNECTION_PROFILE_ID
Exemple :
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles:discoverConnectionProfile?myOracleCP
Pour en savoir plus sur l'utilisation de gcloud
pour découvrir la structure de votre base de données source, cliquez ici.
Étape suivante
- Découvrez comment utiliser l'API Datastream pour gérer les flux.
- Découvrez comment utiliser l'API Datastream pour gérer les configurations de connectivité privée.
- Pour en savoir plus sur l'utilisation de l'API Datastream, consultez la documentation de référence.