Insérer des paramètres RSD dans le profil API
Utilisez des paramètres RSD dans un profil API pour créer des RSDs génériques qui peuvent être distribués et réutilisés par différents clients ou environnements. Au lieu de créer plusieurs fichiers RSD avec des valeurs codées en dur, vous pouvez insérer des paramètres afin que les valeurs puissent être mises à jour via des variables ou des filtres dans DataSync.
Cette approche fait gagner du temps, réduit la maintenance et garantit la flexibilité — en particulier lorsque la même structure RSD est utilisée par plusieurs clients ou déploiements.
Les paramètres RSD peuvent avoir des valeurs par défaut définies dans le fichier RSD. Si un paramètre requis n’a pas de valeur par défaut, DataSync affichera un message d'erreur dans la colonne Filtre de l'extraction vous demandant d'en fournir une. La personne qui crée le RSD contrôle quels paramètres ont des valeurs par défaut et lesquels n'en ont pas.
Soyez prudent lors de la pré‑population des paramètres RSD avant de partager le fichier. Si le destinataire n'a pas besoin de certains paramètres mais conserve les valeurs par défaut, il peut se connecter aux données d'un autre client de manière involontaire.
Aperçu du processus
| Étape | Description |
|---|---|
| Préparer le fichier RSD | Créez ou éditez le XML RSD pour déclarer des paramètres, ajouter des règles de validation et les référencer dans l'URI de l'API. |
| Modifier les paramètres | Définissez des règles de validation, configurez des vérifications côté serveur pour les paramètres manquants, et utilisez les paramètres dans l'URL de la requête. |
| Détecter les paramètres manquants | Identifiez les paramètres obligatoires manquants dans l'écran Tables de l'extraction — une erreur et une icône apparaissent dans la colonne Filtre. |
| Fournir des paramètres | Utilisez le SQL Expression Builder dans la colonne Filtre pour ajouter des valeurs codées en dur ou des références de variables. |
| Confirmer les valeurs | Assurez-vous que les icônes et messages d'erreur disparaissent, que les champs sont éditables, et que les appels API utilisent les valeurs fournies. |
Configurer le fichier RSD
Préparer le fichier RSD
Créez ou mettez à jour votre fichier .RSD pour y inclure des paramètres. L'exemple ci-dessous définit un paramètre CompanyId, inclut des validations et l'utilise dans l'URI de la requête API.
<api:script xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:api="http://apiscript.com/ns?v1" >
<api:info title="CompanyStatus" desc="Renvoie le statut d'une entreprise spécifiée par son CompanyId." >
<attr name="CompanyId" xs:type="string" readonly="true" other:pseudocolumn="true" />
<attr name="Id" xs:type="string" readonly="true" other:xPath="id" key="true" />
<attr name="Title" xs:type="string" readonly="true" other:xPath="title" />
<attr name="Column1" xs:type="string" readonly="true" other:xPath="column1" />
<attr name="Column2" xs:type="string" readonly="true" other:xPath="column2" />
</api:info>
<!-- Définir des paramètres globaux -->
<api:set attr="ContentType" value="application/json" />
<api:validate attr="_input.CompanyId" desc="Vous devez spécifier un CompanyId." />
<!-- Définir des paramètres d'autorisation -->
<!-- Utilisation de OAuth -->
<api:set attr="OAuthVersion" value="2.0" />
<api:validate attr="_connection.OAuthClientId" desc="La propriété de connexion OAuthClientId doit être spécifiée pour l'authentification OAuth" />
<api:validate attr="_connection.OAuthClientSecret" desc="La propriété de connexion OAuthClientSecret doit être spécifiée pour l'authentification OAuth" />
<api:validate attr="_connection.CallbackUrl" desc="La propriété de connexion CallbackUrl doit être spécifiée pour l'authentification OAuth" />
<api:script method="GET" >
<api:set attr="method" value="GET" />
<api:validate attr="_connection.Deployment" desc="Pour interroger cette table, l'utilisateur doit être spécifié dans la chaîne de connexion." />
<api:null attr="CompanyId">
<api:set attr="ColumnRequired" value="CompanyId" />
<api:push op="apisadoThrowColumnRequiredException" />
</api:null>
<api:set attr="uri" value="https://sample.url.value/[_input.companyIds]" />
<api:set attr="RepeatElement" value="/response" />
<api:call op="apisadoExecuteJSONGet">
<api:push/>
</api:call>
</api:script>
</api:script>
Modifier les paramètres dans RSD
-
Définir la validation pour un paramètre — Cela définit l'entrée requise et le message d'erreur si elle est manquante :
<api:validate attr="_input.CompanyId" desc="Vous devez spécifier un CompanyId." /> -
Configurer la détection côté serveur — Cela garantit que le RSD renvoie une erreur si le paramètre est manquant lors de l'exécution :
<api:null attr="CompanyId">
<api:set attr="ColumnRequired" value="CompanyId" />
<api:push op="apisadoThrowColumnRequiredException" />
</api:null> -
Utiliser le paramètre dans l'URL :
[_input.companyIds]
Utiliser le RSD dans DataSync
Détecter les paramètres manquants
Lorsqu'une extraction utilise un RSD avec des paramètres requis manquants, la vue Tables affiche une erreur dans la colonne Filtre et une icône de filtre manquant apparaît.
- Connectez-vous à DataSync.
- Depuis l'écran d'accueil ou le panneau de navigation gauche, sélectionnez Extractions.
- Sélectionnez l'extraction RSD - Consolidation.
- Cliquez sur le lien dans la colonne Tables. Le message d'erreur apparaît.
Fournir des valeurs de paramètres
Remplissez les paramètres RSD manquants dans la colonne Filtre de l'extraction en utilisant le SQL Expression Builder.
- Dans la page d'extraction RSD - Consolidation, sélectionnez le lien pour la table.
- Dans la colonne Filtre, sélectionnez l'icône en forme de crayon.
- Dans le SQL Expression Builder, entrez l'expression de filtre en utilisant soit des valeurs codées en dur soit des références de variables.
- Cliquez sur Enregistrer.
Valeurs codées en dur
serverURL = 'http://w19s17:901' and companyIds = '5'
Références de variables
serverURL = @serverURL and companyIds = @companyIds
Vous ne pouvez pas prévisualiser les données à l'aide de l'icône de loupe si des filtres obligatoires sont manquants.
Confirmer les valeurs
Lorsque tous les paramètres requis sont fournis :
- L'icône de filtre manquant disparaît.
- Vous pouvez ouvrir l'éditeur de champs de table sans recevoir de message indiquant que le filtre obligatoire est manquant.
- Les appels API utiliseront les valeurs ou variables fournies.