# tCosmosDBSQLAPIOutput

Ce composant insère, met à jour, insère et met à jour ou supprime des documents dans une collection d'une base de données Cosmos, à partir du flux entrant du composant précédent, via une API SQL.

## Propriétés du tCosmosDBSQLAPIOutput Standard

Ces propriétés sont utilisées pour configurer le tCosmosDBSQLAPIOutput s'exécutant dans le framework de Jobs Standard.

Le composant tCosmosDBSQLAPIOutput Standard appartient à la famille Bases de données NoSQL.

Le composant de ce framework est disponible dans tous les produits Talend.

## Basic settings

| Propriétés | Description |
| --- | --- |
| Property type | Peut être Built-in ou Repository .<br><br><ul> <li> <span>Built-in</span>&nbsp;: propriétés utilisées ponctuellement sans stockage dans le référentiel.</li> <li> <span>Repository</span>&nbsp;: sélectionnez le référentiel dans lequel sont stockées les propriétés. Les champs suivants sont automatiquement renseignés à l'aide des données récupérées.</li> </ul> |
| Modifier le schéma | Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :<br><br><ul> <li> <p> <span>View schema</span>&nbsp;: sélectionnez cette option afin de voir uniquement le schéma.</p> </li> <li> <p> <span>Change to built-in property</span>&nbsp;: sélectionnez cette option pour passer le schéma en mode <span>Built-In</span> et effectuer des modifications locales.</p> </li> <li> <p> <span>Update repository connection</span>&nbsp;: sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs.</p> <p>Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur <span>No</span> et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre <span>Repository Content</span>.</p> </li> </ul><br><br>Ce composant supporte les schémas dynamiques lors de l'insertion de documents dans une collection. Pour utiliser la fonctionnalité de schéma dynamique, assurez-vous que la collection n'a pas de clé de partition et que le schéma contient une seule colonne, avec DB column configuré à \* et Type à String (si le type d'entrée est String) ou Object (si le type d'entrée est Object).<br><br>Note InformationsRemarque :<br><br><ul> <li>La fonctionnalité de schéma dynamique est disponible uniquement lorsque l'option <kbd>Insert</kbd> est sélectionnée dans la liste déroulante <span>Action on data</span>.</li> <li>La fonctionnalité de schéma dynamique est disponible uniquement si vous avez installé la mise à jour mensuelle 8.0.1-R2024-04 du <span>Studio Talend</span> ou une mise à jour plus récente fournie par <span>Talend</span>. Pour plus d'informations, contactez votre administrateur ou administratrice.</li> </ul> |
| URI | Saisissez l'URI de votre compte utilisateur·trice Cosmos. Comme le champ le demande, l'URI d'un compte utilisateur·trice Cosmos DB est au format https://{votre\_compte}.document.azure.com:443. Vous pouvez obtenir l'URI dans le panneau Keys du portail Azure portal. Consultez [Créer un compte Azure Cosmos](https://docs.microsoft.com/fr-FR/azure/cosmos-db/create-cosmosdb-resources-portal) pour plus d'informations. |
| Primary key | Saisissez la clé primaire de votre compte utilisateur·trice CosmosDB. Vous pouvez obtenir la clé primaire dans le panneau Keys du portail Azure portal. Consultez [Créer un compte Azure Cosmos](https://docs.microsoft.com/fr-FR/azure/cosmos-db/create-cosmosdb-resources-portal) pour plus d'informations.<br><br>Pour saisir la clé primaire, cliquez sur le bouton [...] près du champ Primary key pour ouvrir la boîte de dialogue Enter a new password. Saisissez la clé primaire dans le champ de texte, puis cliquez sur OK. Vous pouvez saisir la clé primaire comme une chaîne de caractères JSON en mode pure password ou comme une expression Java en mode Java mode. Vous pouvez passer d'un mode à l'autre en cliquant sur switch to Java mode ou switch to pure password mode au-dessus du champ de texte.<br><br>Note InformationsRemarque :<br><br><ul> <li>Les deux modes de mot de passe sont disponibles uniquement si vous avez installé la mise à jour mensuelle 8.0.1-R2022-05 du <span>Studio Talend</span> ou une plus récente fournie par <span>Talend</span>. Pour plus d'informations, contactez votre administrateur ou administratrice.</li> <li>Si vous n'avez pas installé la mise à jour mensuelle 8.0.1-R2022-05 du <span>Studio Talend</span> ou une mise à jour plus récente fournie par <span>Talend</span>, vous pouvez saisir les clés primaires en mode <span>Java mode</span> uniquement. </li> </ul> |
| Database ID | Saisissez le nom de la base de données. |
| Collection ID | Saisissez le nom de la collection. |
| Create collection if not exist | Sélectionnez cette option pour créer la collection spécifiée dans le champ Collection ID si elle n'existe pas. Cette option n'est pas disponible lorsque l'option Update ou Delete est sélectionnée dans la liste Data action. |
| Data action | Sélectionnez l'une des options suivantes :<br><br><ul> <li> <p> <span>Insert</span>&nbsp;: insère des documents.</p> </li> <li> <p> <span>Update</span> : remplace les documents existants par les données d'entrée mais conserve l'ID technique de ces documents.</p> </li> <li> <p> <span>Upsert</span> : insère un document s'il n'existe pas, sinon applique les mêmes règles que l'action <span>Update</span>.</p> </li> <li> <p> <span>Delete</span>&nbsp;: supprime les documents.</p> </li> </ul> |
| Availability-note[Deprecated](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-deprecated)<br><br>Ce contenu est obsolète.<br><br>Auto ID generation | Sélectionnez cette option afin de générer des ID pour les documents traités.<br><br>Note InformationsDéprécié·e : Cette option est dépréciée depuis la version mensuelle 8.0.1-R2024-03. |

## Advanced settings

| Propriétés | Description |
| --- | --- |
| tStatCatcher Statistics | Cochez cette case afin de collecter les données de log au niveau des composants. |
| Connection mode | Spécifiez le mode de connexion à utiliser. Deux options sont disponibles : Gateway et DirectHttps. Cliquez sur [ConnectionMode](https://learn.microsoft.com/fr-FR/java/api/com.microsoft.azure.cosmosdb.connectionmode?view=azure-java-archive&viewFallbackFrom=azure-java-legacy) pour plus d'informations. |
| Max connection pool size | Configurez la taille maximale du pool de connexions. La valeur par défaut est 1000. |
| Consistency level | Configurez le niveau de cohérence. Cliquez sur [Niveaux de cohérence dans Azure Cosmos DB](https://docs.microsoft.com/fr-FR/azure/cosmos-db/consistency-levels) pour plus d'informations. |
| Clé de partition | Saisissez la clé de la partition de laquelle supprimer les documents. Il est recommandé d'utiliser une valeur non nulle pour la clé de partition.<br><br>Avec la version mensuelle 8.0.1-R2024-03, vous pouvez saisir trois types différents de clés de partition : Boolean (booléen), Double et String (chaîne de caractères). Les clés de partition peuvent également être configurées avec une hiérarchie comprenant jusqu'à trois niveaux. Pour plus d'informations, consultez [Clés de partition hiérarchiques dans Azure Cosmos DB](https://learn.microsoft.com/fr-fr/azure/cosmos-db/hierarchical-partition-keys?tabs=java-v4%2Cbicep) de la documentation Microsoft.<br><br>Cette option est disponible lorsque vous cochez la case Create collection if not exsist. |

## Variables globales

| Variables | Description |
| --- | --- |
| ERROR\_MESSAGE | Message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. |
| NB\_LINE | Nombre de lignes traitées. Cette variable est une variable After et retourne un entier. |

## Utilisation

| Conseils d'utilisation | Description |
| --- | --- |
| **Règle d'utilisation** | Le tCosmosDBSQLAPIOutput exécute l'action définie sur la collection dans la base de données, à partir du flux entrant depuis le composant précédent dans le Job. |
| **Limitation de Cosmos DB pour les proxys HTTPS avec authentification** | Les proxys HTTP et HTTPS fonctionnent avec le composant tSetProxy, mais :<br><br><ul> <li>Les proxys HTTPS avec authentification ne fonctionnent pas avec l'option <span>Use authorization</span> du <span>tSetProxy</span> pour ce composant. Le SDK Cosmos DB n'utilise pas la classe Java <span>Authenticator</span> pour le tunneling de proxy HTTPS et s'appuie sur les propriétés système de la JVM.</li> <li>Pour que ce composant fonctionne avec un proxy HTTPS authentifié, vous devez configurer manuellement les identifiants du proxy en tant qu'arguments JVM dans <span><span>Run</span><abbr> &gt; </abbr><span>Advanced settings</span><abbr> &gt; </abbr><span>JVM arguments</span></span>&nbsp;: <pre><code><pre><code><code>-Dhttps.proxyUser=&lt;username&gt;-Dhttps.proxyPassword=&lt;password&gt;</code></code></pre></code></pre></li> </ul><br><br>Limitation supplémentaire : La configuration des proxys s'effectue via les propriétés système de la JVM. Il n'est donc pas recommandé d'utiliser différents paramètres de proxys pour les différents composants dans un même Job, car la configuration ne pourrait pas fonctionner comme attendu. |