Points de terminaison DCME
Points de terminaison et paramètres DCME
Les points de terminaison DCME sont divisés en deux groupes : les points de terminaison DCME pour les utilisateurs et les points de terminaison DCME pour les administrateurs. Tous les points de terminaison DCME nécessitent que TLS soit configuré sur Server.
Pour en savoir plus sur les relations d'objets et sur leur utilisation dans l'API, consultez la section Relations d'objets.
Pour plus d'informations sur les connexions aux données, consultez les pages d'aide DCM - Server et Gestionnaire de connexion aux données : interface utilisateur Server.
What Is a DCM Connection?
“DCM Connection” is composed from its own parameters
and two types of subobjects: DataSource
(there is always just one) and Credentials
(in common scenarios there are zero, one or two credentials but in rare cases there could be even more, the number is connector-specific). Each Credential
has a different credRole
inside the Connection. DCM API works on Connections as whole objects including DataSource
and Credentials
.
Points de terminaison DCME pour les utilisateurs
Ces points de terminaison peuvent être utilisés par les utilisateurs disposant d'un accès à l'API :
Note
All API endpoints return individual user data (each user can only see and manage their own connections).
All examples are in PowerShell.
Récupérer un enregistrement de connexion DCM
Pour récupérer un enregistrement de connexion DCM, utilisez le point de terminaison GET {baseURL}/v3/dcm/connections/{id}. Le point de terminaison renvoie toutes les informations sur la connexion DCM, y compris la source de données et les informations d'identification associées ainsi que les informations de partage.
Paramètres
id (string): Required. Enter the ID of the DCM Connection on which you want to obtain information.
curl --location --request GET 'https://localhost/webapi/v3/dcm/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Récupérer une connexion DCM telle que référencée dans les workflows
Pour récupérer un enregistrement de connexion DCM tel qu'il est référencé dans les workflows, utilisez le point de terminaison GET {baseURL}/v3/dcm/connections/lookup. Le point de terminaison renvoie toutes les informations sur la connexion DCM, y compris la source de données et les informations d'identification associées ainsi que les informations de partage.
Note
Le connectionID utilisé dans ce point de terminaison est différent de l'ID utilisé dans les autres points de terminaison DCM. L'ID est utilisé pour référencer divers objets DCM, tandis que le connectionID est uniquement utilisé dans les workflows pour référencer la connexion DCM pour des utilisateurs spécifiques.
Paramètres
connectionId (string): Required. Enter the DCM ConnectionID on which you want to obtain information.
curl --location --request GET 'https://localhost/webapi/v3/dcm/connections/lookup?connectionId=d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Partager une connexion DCM avec des utilisateurs et des groupes spécifiés
Pour partager une connexion DCM pour l'exécution de Server avec des utilisateurs ou des groupes précisés, utilisez le point de terminaison PUT {baseURL}/v3/dcm/connections/{id}/sharing/execution.
Note
Comme il s'agit d'un point de terminaison PUT, il remplace le partage existant, plutôt que d'ajouter des utilisateurs ou des groupes d'utilisateurs supplémentaires à la liste existante. La liste d'utilisateurs et de groupes fournie ne peut pas être vide. Pour retirer le partage existant, utilisez le point de terminaison DELETE.
Paramètres
id (chaîne) : obligatoire. Saisissez l'ID de connexion DCM que vous souhaitez partager avec d'autres utilisateurs ou groupes.
sharingContract (corps) : obligatoire. Pour mettre à jour le partage d'exécution, le paramètre « sharingContract » est obligatoire. Les deux tableaux sont requis alors qu'un seul peut être laissé vide.
userIds (tableau de chaînes) : saisissez une liste de tous les ID d'utilisateurs avec lesquels partager la connexion. Laissez un tableau vide si vous ne souhaitez la partager avec aucun utilisateur (groupes d'utilisateurs uniquement).
userGroupIds (tableau de chaînes) : saisissez une liste de tous les ID de groupes d'utilisateurs avec lesquels partager la connexion. Laissez un tableau vide si vous ne souhaitez la partager avec aucun groupe d'utilisateurs (utilisateurs uniquement).
curl --location --request PUT 'https://localhost/webapi/v3/dcm/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3/sharing/execution' ` --header 'Authorization: Bearer BearerTokenGoesHere' ` --header 'Content-Type: application/json' ` --data '{ "userIds": [ "61d57bea3c15317e1a48205b", "61d564361d6d5da7ad461a32" ], "userGroupIds": [ "d5da7ad4" ] }'
Annuler le partage d'une connexion DCM
Pour annuler le partage d'une connexion DCM, utilisez le point de terminaison DELETE {baseURL}/v3/dcm/connections/{id}/sharing/execution.
Paramètres
id (string): Required. Enter the DCM Connection ID you want to unshare from all users and groups.
curl --location --request DELETE 'https://localhost/webapi/v3/dcm/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3/sharing/execution' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Créer ou mettre à jour une connexion DCM
Pour créer ou mettre à jour une connexion DCM, utilisez le point de terminaison POST {baseURL}/v3/dcm/connections.
Un seul point de terminaison sert à la fois les fonctions de création et de mise à jour, différenciées selon si les ID d'objet sont inclus ou non dans la requête. La réutilisation de sources de données ou d'informations d'identification existantes n'est actuellement pas prise en charge lors de la création de nouvelles connexions.
Paramètres
id (string): Optional. Enter a connection ID if you wish to update an existing connection. Skip if you wish to create a new connection.
name (string): Required. Enter the name of your connection.
Note
There are multiple “names” inside a DCM Connection:
Connection.name
: The name of the Connection itself. Admins interact with this name via the API.Connection.dataSource.object.name
: Data Source name visible on the Data Sources tab in the UI.Connection.credentials.<credRole>.object.name
: Credential names visible on the Credentials tab in the UI.
For more details, see the What is a DCM Connection? section.
schemaName (string): Required. This is the identifier for a DCM schema, which is used to render and validate the associated parameters in the DCM UI. Each connector defines its own set of supported DCM schemas. The selected connection schema also specifies which DataSource and Credential schemas must be used for the DataSource and Credential sections of the connection. For more details, see What is a DCM Connection? and How is a Connector Related to a DCM Connection?
allowInSdks (boolean): Optional. Makes the Connection accessible to python SDK tools.
parameters (object): Required. This property holds configuration details specific to the schema and technology you are connecting to.
Note
There are several different
parameters
objects in a DCM connection structure, each used in a different context:Connection.parameters
: for the overall connection (not yet visible in UI, coming soon)Connection.dataSource.object.parameters
: for the Data Source part of the connectionConnection.credentials.<credRole>.object.parameters
: for each Credential roleConnection.credentials.<credRole>.object.secrets.<secretType>.parameters
: for credential secrets, per secret type
Each parameters object has its own structure and required fields, which depend on the technology and
schemaName
defined in that part of the connection. They are independent and can (and often do) contain different fields.The
parameters
property is required but may be provided as empty objects ({}
) if no parameters are needed for a given schema.Tip:
To determine the correct fields for any parameters object:
Create a DCM Connection in the Alteryx Server UI for your target technology.
Query the Connection via API:
GET /v3/dcm/connections/{id}
Review the structure and fields returned for each
parameters
object in the response.
This is the most reliable way to discover the required and available fields for your specific data source or credential.
Because
parameters
fields are data source and credential specific, a comprehensive example for every technology isn’t practical in this documentation. Please use the above workflow to get up-to-date, source-specific examples.dataSource (object): Required. The data source used for the connection, describing the data source instance host and additional parameters, as seen in DCM UI.
object (object): Required.
id (string): Enter a data source ID if you wish to update an existing connection. Skip if you wish to create a new connection. Using an existing data source when creating new connections is currently unavailable.
name (string): Required. Enter a name for the data source.
schemaName (string): Required. Enter the schema name of the selected data source. For a detailed description, refer to the
Connection.schemaName
property.parameters (object): Required. Parameters for the
DataSource
part of the connection. SeeConnection.parameters
property for more details. Provide empty object{}
if no parameters are needed.
credentials (object): Required. Key value pairs of
<credRole>: object
.<credRole>
s are defined by the selected DCM schema. Theobject
has just one property named“object"
which then contains all the Credential properties. Some connections may not require any credentials, while others may have multiple nested Credential objects.From the examples below, you can see that the SQLServer (MSSQL) Username-Password authentication uses main <credRole>. Reshift connection with Identity Pool authentication and Snowflake with OAuth authentication use
oauthApplication
andoauthTokens <credRoles>
for their credentials.For more details, see What is a DCM Connection? and How is a Connector related to DCM Connection?
object (object): Defines properties of Credential parts of the Connection.
id (string): Enter a credential ID if you wish to update an existing connection. Skip if you wish to create a new connection. Using an existing credential when creating new connections is currently unavailable.
name (string): Required. Enter the name of your credential.
schemaName (string): Required. Enter the schema name of the selected credential.
parameters (object): Required. Parameters for the
Credential
parts of the connection. SeeConnection.parameters
property for more details. Provide empty object{}
if no parameters are needed.
Create a SQL Server DCM Connection Using UserName-Password Credentials
curl --location --request POST 'https://localhost/webapi/v3/dcm/connections' ` --header 'Authorization: Bearer BearerTokenGoesHere' ` --header 'Content-Type: application/json' ` --data '{ "name": "MSSQL DEV Admin", "schemaName": "database-odbc-dsn-mssql", "parameters": {}, "dataSource": { "object": { "name": "SQL Server DEV", "schemaName": "database-odbc-dsn-mssql", "parameters": { "dsn": "sql server" } } }, "credentials": { "main": { "object": { "name": "SQL Server Admin Credentials", "schemaName": "username_password", "parameters": {}, "userName": "admin", "secrets": { "password": { "value": { "text": "password" }, "parameters": {} } } } } } }'
Create an ODBC DCM Connection to Redshift Using OAuth Authentication with AWS IAM / Cognito
curl --location --request POST 'https://localhost/webapi/v3/dcm/connections' ` --header 'Authorization: Bearer BearerTokenGoesHere' ` --header 'Content-Type: application/json' ` --data '{ "name": "Connection Name", "schemaName": "database-odbc-redshift-simba-oauth-iam-identitypool", "allowInSdks": false, "parameters": {}, "dataSource": { "object": { "name": "DataSource Name", "schemaName": "database-odbc-redshift-simba", "drvName": "Simba Amazon Redshift ODBC Driver", "host": "##### (my-database-host.redshift.amazonaws.com)", "parameters": { "allowSelfSignedServerCert": false, "checkCertRevocation": false, "database": "#####", "minTLS": 2, "port": 5439, "sslMmode": "require", "useSystemTrustStore": false } } }, "credentials": { "oauthApplication": { "object": { "name": "Application Credential Name", "schemaName": "database-redshift-aws-oauth-iam-identitypool-application", "userName": "##### (Client Secret)", "parameters": { "accountId": "#####", "authorityURL": "##### (https://my-authorization-host.amazoncognito.com)", "awsRegion": "##### (us-west-2)", "dbUser": "#####", "identityPoolId": "#####", "redirectURI": "##### (http://localhost:5634)", "userPoolId": "#####" }, "secrets": { } } }, "oauthTokens": { "object": { "name": "Tokens Credential Name", "schemaName": "aws-oauth-iam-identitypool-tokens", "parameters": {}, "secrets": { } } } } }'
Create a Snowflake DCM Connection with OAuth 2.0 Client Credentials
curl --location --request POST 'https://localhost/webapi/v3/dcm/connections' ` --header 'Authorization: Bearer BearerTokenGoesHere' ` --header 'Content-Type: application/json' ` --data '{ "name": "Connection Name", "schemaName": "database-odbc-snowflake-simba-oauth-generic-configurable", "allowInSdks": false, "parameters": {}, "dataSource": { "object": { "name": "DataSource Name", "schemaName": "database-odbc-snowflake-simba", "drvName": "Simba Snowflake ODBC Driver", "host": "##### (my-domain.snowflakecomputing.com)", "parameters": { "database": "#####", "schema": "#####", "warehouse": "#####" } } }, "credentials": { "oauthApplication": { "object": { "name": "Application Credential Name", "schemaName": "generic-configurable-oauth-application", "userName": "##### (Client Id)", "parameters": { "clientAuthentication": "body", "grantType": "clientCredentials", "tokenURL": "#####" }, "secrets": { "clientSecret": { "expiresOn": null, "parameters": {}, "value": { "text": "##### (Client Secret)" } } } } }, "oauthTokens": { "object": { "name": "Tokens Credential Name", "schemaName": "generic-configurable-oauth-tokens", "userName": null, "parameters": { "scope": "#####" }, "secrets": {} } } } }'
Supprimer une connexion DCM
Pour supprimer une connexion DCM, utilisez le point de terminaison DELETE {baseURL}/v3/dcm/connections/{id}. La source de données et les informations d'identification seront également supprimées à moins qu'elles ne soient utilisées dans une autre connexion.
Paramètres
id (string): Required. Enter the DCM Connection ID you want to delete.
curl --location --request DELETE 'https://localhost/webapi/v3/dcm/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Points de terminaison DCME pour les administrateurs
Points de terminaison qui peuvent être utilisés par les administrateurs disposant d'un accès à l'API :
Créer ou mettre à jour une connexion DCM au nom d'un utilisateur
Annuler le partage d'une connexion DCM partagée pour l'exécution
Annuler le partage d'une connexion DCM partagée pour la collaboration
Récupérer une règle spécifique de gestion des connexions DCM
Ajouter ou mettre à jour une règle de gestion des connexions DCM
Note
All admin API endpoints return all data available on the Server across all users, regardless of ownership.
All examples are in PowerShell.
Récupérer un enregistrement de connexion DCM
Pour récupérer un enregistrement de connexion DCM, utilisez le point de terminaison GET {baseURL}/v3/dcm/admin/connections/{objectId}.
Paramètres
objectId (string): Required. Enter the DCM Connection ID you want to get information about.
curl --location --request GET 'https://localhost/webapi/v3/dcm/admin/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Récupérer une liste des enregistrements de connexion DCM
Pour récupérer une liste de tous les enregistrements de connexion DCM présents sur Server, utilisez le point de terminaison GET {baseURL}/v3/dcm/admin/connections.
Paramètres
Les deux paramètres sont des filtres qui peuvent être combinés. Utiliser connectionId et visibleBy ensemble renverra la connexion avec le connectionID indiqué, visible par l'utilisateur spécifié.
connectionId (chaîne) : facultatif. Filtre les connexions par leur connectionID, tel qu'il est référencé à partir d'un workflow. Plusieurs connexions peuvent être renvoyées pour un connectionID unique, si la connexion est partagée pour la collaboration.
visibleBy (string) : facultatif. Saisissez l'ID d'utilisateur. S'il est présent, il filtre les résultats pour obtenir le même résultat que pour toutes les connexions disponibles pour l'utilisateur spécifié.
curl --location --request GET 'https://localhost/webapi/v3/dcm/admin/connections?connectionId=d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3&visibleBy=bc7cb7b47c33' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Créer ou mettre à jour une connexion DCM au nom de l'utilisateur.
Pour créer ou mettre à jour un enregistrement de connexion DCM au nom d'un utilisateur, utilisez le point de terminaison POST {baseURL}/v3/dcm/admin/connections.
Properties
Use the same properties as described in the Create or Update Connection section. The only additional property required for this endpoint is ownerId
.
ownerId (string): Required.
When creating a Connection, enter the ID of the user on behalf of which the connection shall be created.
When updating a Connection, you must also enter the ownerId even if you don't want to change it. For more information how to get an ownerID, go to Get Connection or List Connections.
curl --location --request POST 'https://localhost/webapi/v3/dcm/connections' ` --header 'Authorization: Bearer BearerTokenGoesHere' ` --header 'Content-Type: application/json' ` --data '{ "upsertConnectionContract": { "name": "MSSQL DEV Admin", "ownerId": "1b4bc56d489d9543a", "schemaName": "database-odbc-dsn-mssql", "parameters": {}, "dataSource": { "object": { "name": "SQL Server DEV", "schemaName": "database-odbc-dsn-mssql", "parameters": { "dsn": "sql server" } } }, "credentials": { "main": { "object": { "name": "SQL Server Admin Credentials", "schemaName": "username_password", "parameters": {}, "userName": "admin", "secrets": { "password": { "value": { "text": "password" }, "parameters": {} } } } } } } }'
Annuler le partage d'une connexion DCM partagée pour l'exécution
Pour annuler le partage d'une connexion DCM dont le type de partage a été défini sur Partagé pour l'exécution, utilisez le point de terminaison DELETE {baseURL}/v3/dcm/admin/connections/{objectId}/sharing/execution.
Paramètres
objectId (string): Required. Enter the DCM Connection ID to be unshared for execution.
curl --location --request DELETE 'https://localhost/webapi/v3/dcm/admin/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3/sharing/execution' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Annuler le partage d'une connexion DCM partagée pour la collaboration
Pour annuler le partage d'une connexion DCM dont le type de partage a été défini sur Partagé pour la collaboration, utilisez le point de terminaison DELETE {baseURL}/v3/dcm/admin/connections/{objectId}/sharing/collaboration.
Paramètres
objectId (string): Required. Enter the DCM Connection ID to be unshared for collaboration.
curl --location --request DELETE 'https://localhost/webapi/v3/dcm/admin/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3/sharing/collaboration' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Supprimer une connexion DCM
Pour supprimer un enregistrement de connexion DCM, utilisez le point de terminaison DELETE {baseURL}/v3/dcm/admin/connections/{objectId}. La source de données et les informations d'identification seront également supprimées à moins qu'elles ne soient utilisées dans une autre connexion.
Paramètres
objectId (string): Required. Enter the DCM Connection ID you want to delete.
curl --location --request DELETE 'https://localhost/webapi/v3/dcm/admin/connections/d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Récupérer toutes les règles de gestion des connexions DCM
Pour récupérer toutes les règles de gestion des connexions DCM, utilisez le point de terminaison GET {baseURL}/v3/dcm/admin/connectionhandlingrules.
Consultez la section Gestion des connexions DCM pour en savoir plus.
Paramètres
Aucun paramètre.
curl --location --request GET 'https://localhost/webapi/v3/dcm/admin/connectionhandlingrules' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Récupérer une règle spécifique de gestion des connexions DCM
Pour récupérer une seule règle spécifique de gestion des connexions DCM, utilisez le point de terminaison GET {baseURL}/v3/dcm/admin/connectionhandlingrules/{id}.
Paramètres
id (string): Required. Specify the ID of the DCM connection handling rule to return.
curl --location --request GET 'https://localhost/webapi/v3/dcm/admin/connectionhandlingrules/{id}' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Ajouter ou mettre à jour une règle de gestion des connexions DCM
Pour ajouter une nouvelle règle de gestion des connexions DCM ou mettre à jour une règle existante, utilisez le point de terminaison POST {baseURL}/v3/dcm/admin/connectionhandlingrules.
Paramètres
Entrez les paramètres suivants pour créer ou mettre à jour une règle de gestion des connexions DCM :
rule (corps) : obligatoire. La règle de gestion des connexions DCM à créer ou mettre à jour.
id (chaîne) : facultatif. L'ID de la règle de gestion des connexions DCM. Saisissez un ID de règle de gestion des connexions DCM si vous souhaitez mettre à jour une règle de gestion des connexions existante. Ignorez si vous souhaitez créer une règle de gestion des connexions.
sourceConnectionId (chaîne) : saisissez un sourceConnectionId pour faire référence à un ConnectionId à remplacer lors de l'exécution du workflow. La connexion ne doit pas nécessairement exister sur le Server (les workflows qui la référencent peuvent toujours être exécutés). Elle ne peut pas être utilisée dans une autre règle existante, qu'il s'agisse d'une connexion source ou d'une connexion cible.
sourceConnectionTitle (chaîne) : saisissez un nom personnalisé ou une description de la connexion source.
targetConnectionId (chaîne) : saisissez un targetConnectionId. Doit faire référence à une connexion DCM présente sur le Server.
targetConnectionTitle (chaîne) : saisissez un nom personnalisé ou une description de la connexion cible.
curl --location 'https://localhost.com/webapi/v3/dcm/admin/connectionhandlingrules' ` --header 'Content-Type: application/json' ` --header 'Authorization: Bearer BearerTokenGoesHere' ` --data '{ "sourceConnectionTitle": "MSSQL DEV", "sourceConnectionId": "c.cid.d8cc5fca-86cc-4e7e-93a3-d500cca9a3f3", "targetConnectionId": "c.cid.cbf55382-f90b-4304-a1cd-37c5cff697e0" }'
Supprimer une règle de gestion des connexions DCM existante
Pour supprimer une règle de gestion des connexions DCM existante, utilisez le point de terminaison DELETE {baseURL}/v3/dcm/admin/connectionhandlingrules/{id}.
Paramètres
id (string): Required. Specify the DCM connection handling rule ID you want to delete.
curl --location --request DELETE 'https://localhost/webapi/v3/dcm/admin/connectionhandlingrules/{id}' ` --header 'Authorization: Bearer BearerTokenGoesHere'
Relations d'objets
Si vous créez une connexion DCM, vous pouvez utiliser les objets créés comme suit :
Objet créé :
« id » (par exemple, « id » : « 3c128cc5fca-86cc-4e7e-93a3-d500cca9a3f3 »)
« connectionId » (par exemple, « id » : « c0332423423-86cc-4e7e-93a3-d500cca9a3f3 »)
Vous pouvez l'utiliser comme :
id si vous souhaitez récupérer un enregistrement de connexion DCM.
connectionId si vous souhaitez récupérer une connexion DCM comme référencée dans les workflows.
id si vous souhaitez partager une connexion DCM avec des utilisateurs et des groupes spécifiés.
id si vous souhaitez mettre à jour une connexion DCM.
id si vous souhaitez supprimer une connexion DCM.
id si vous souhaitez annuler le partage d'une connexion DCM.
Administrateur :
id si vous souhaitez récupérer un enregistrement de connexion DCM.
ownerId (userId) si vous souhaitez créer une connexion DCM au nom d'un utilisateur.
id si vous souhaitez mettre à jour une connexion DCM au nom d'un utilisateur.
id si vous souhaitez annuler le partage d'une connexion DCM partagée pour l'exécution.
id si vous souhaitez annuler le partage d'une connexion DCM partagée pour la collaboration.
id si vous souhaitez supprimer une connexion DCM.#supprimer-une-connexiondcm-7047212-1