Java de Native SDK pour Connectors - Notes de version¶
Notes de version pour Native SDK pour la bibliothèque Java Connectors.
Version 2.2.0 (10 juillet 2024)¶
Modifications générales¶
Remplacement de l’outil SnowSQL par le nouvel outil CLI Snowflake
Mise à jour des dépendances Java
Changements de comportement¶
com.snowflake.connectors.common.object
:Modification de la valeur renvoyée par
toString
pour qu’elle soit identique à celle degetValue
dans les classes :Identifier
ObjectName
Reference
SchemaName
com.snowflake.connectors.application.scheduler.SchedulerCreator
:Remplacement du nom de la classe par
SchedulerManager
.
com.snowflake.connectors.taskreactor.commands.queue.CommandsQueueRepository
:Remplacement du nom de la classe par
CommandsQueue
.
com.snowflake.connectors.application.integration.SchedulerTaskReactorOnIngestionScheduled
:Remplacement du nom de la classe par
TaskReactorOnIngestionScheduledCallback
.La classe utilise désormais
ResourceIngestionDefinition
et ses paramètres génériques.
com.snowflake.connectors.taskreactor.config.ConfigRepository
:Les valeurs de configuration sont désormais toujours traitées comme des chaînes et non comme des variantes.
Nouvelles fonctionnalités¶
Nouvelle procédure
PUBLIC.RESET_CONFIGURATION()
qui permet de réinitialiser l’état de l’assistant de configuration. De plus, des rappels ont été ajoutés qui permettent d’effectuer des opérations personnalisées pendant le déroulement de la procédure. Voir également Réinitialisation de la configuration.Nouvelle procédure
PUBLIC.RECOVER_CONNECTOR_STATE(STRING)
qui permet de réinitialiser l’état du connecteur. Voir également Récupération de l’état du connecteur.Nouvelle procédure
TASK_REACTOR.REMOVE_INSTANCE(STRING)
qui permet de supprimer une instance Task Reactor. Voir également Suppression d’une instance.com.snowflake.connectors.application.configuration.connector.ConnectorConfigurationKey
:Ajout d’une nouvelle clé
CORTEX_WAREHOUSE
.Ajout d’une nouvelle clé
CORTEX_USER_ROLE
.
com.snowflake.connectors.util.time
:Ajout de nouvelles classes pour la sérialisation JSON de
LocalDate
et deZoneId
.
com.snowflake.connectors.common.task.TaskRepository
:Ajout de la prise en charge du paramètre
AFTER
lors de la création d’une tâche, si les prédécesseurs de la tâche ont été spécifiés.Ajout de la prise en charge du paramètre
USER_TASK_TIMEOUT_MS
.
com.snowflake.connectors.common.task.TaskProperties
:Ajout de la prise en charge des prédécesseurs de tâche.
Ajout de la prise en charge de la propriété
USER_TASK_TIMEOUT_MS
.
com.snowflake.connectors.util.sql.SqlTools
:
Ajout de la méthode
callProcedureRaw(Session, String, String...)
.Ajout de la méthode
callProcedureRaw(Session, String, String, String...)
.
Ajout d’une nouvelle classe
com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestionWorker
- une simple implémentation worker pour une utilisation avec des charges de travail d’ingestion.Ajout d’une nouvelle classe
com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestion
- une simple représentation d’ingestion, à utiliser par unIngestionWorker
.Ajout d’une nouvelle classe
com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestionWorkItem
- une simple implémentation d’élément de travail pour le travail d’ingestion.
Corrections de bogues¶
com.snowflake.connectors.common.task.TaskRepository
:Correction de la vérification de la condition de création d’une tâche réussie dans
create(TaskDefinition, boolean, boolean)
.
com.snowflake.connectors.util.variant.VarianMapper
:Correction du traitement des horodatages dans les variantes.
Correction des validateurs d’entrée par défaut dans les gestionnaires pour les processus de configuration de connecteur.
Suppression de
DataFrame#first
de la plupart des requêtesSELECT
, ce qui a permis de corriger des problèmes liés à l’utilisation de certaines procédures dans les tâches.Suppression de l’octroi de
USAGE
sur le schémaSTATE
au rôle d’applicationADMIN
.Ajout de la colonne
UPDATED_AT
manquante dans la table de configuration Task Reactor.
Version 2.1.0 (8 juillet 2024)¶
Changements de comportement¶
Nouvelle approche d’identificateurs.
Important
Cette nouvelle approche peut modifier la manière dont les identificateurs sont utilisés dans votre connecteur, veuillez tester soigneusement les nouvelles modifications !
Le SDK s’attend désormais à ce que tous les identificateurs soient envoyés tels que fournis par l’utilisateur ; le SDK évaluera par lui-même s’il s’agit d’un identificateur cité ou non afin de le traiter correctement par la suite.
La citation automatique des identificateurs ne sera effectuée que lors de l’utilisation de valeurs renvoyées par des requêtes Snowflake.
Pour utiliser la nouvelle approche avec l’UI, le connecteur doit renvoyer une nouvelle propriété dans la vue
PUBLIC.APP_PROPERTIES
avec la clé deUI_ADD_QUOTES_TO_EXISTING_QUOTED_IDENTIFIERS
et une valeur deTRUE
.Classe
com.snowflake.connectors.common.object.Identifier
modifiée :Méthodes
fromWithAutoQuoting()
etgetName()
supprimées.Suppression du concept d’identificateur vide ; méthodes
empty()
,isNullOrEmpty()
,validateNullOrEmpty()
, etisEmpty()
supprimées.Ajout de la nouvelle méthode
from()
qui permet d’activer la citation automatique lors de la création d’une instance d’identificateur ; la chaîne fournie ne sera pas automatiquement citée si elle est un identificateur entièrement en majuscules et non cité.Méthode
validate()
modifiée pourisValid()
.Méthode
toSqlString()
modifiée pourgetValue()
.Ajout des méthodes
getUnquotedValue()
,getQuotedValue()
,getVariantValue()
, etisUnquoted()
.
Classe
com.snowflake.connectors.common.object.ObjectName
modifiée :
Création de propriétés de base de données et de schéma
Optional
.Modification du type de retour de
getDatabase()
etgetSchema()
enOptional
.Méthode
validate()
modifiée pourisValid()
.Méthode
validateDoubleDot()
modifiée pourisDoubleDot()
.Méthode
getEscapedName()
modifiée pourgetValue()
.Ajout des méthodes
getVariantValue()
etgetSchemaName()
.Classe
com.snowflake.connectors.common.object.Reference
modifiée :
Suppression du concept de référence vide ; méthodes
empty()
etisEmpty()
supprimées.Méthode
validate()
modifiée pourisValid()
.Méthode
referenceName()
modifiée pourgetName()
.Méthode
value()
modifiée pourgetValue()
.Ajout d’une nouvelle classe
com.snowflake.connectors.common.object.SchemaName
pour représenter le schéma ; comportement similaire à la classecom.snowflake.connectors.common.object.ObjectName
.Ajout de la nouvelle classe
com.snowflake.connectors.common.object.InvalidSchemaNameException
.
Autres ajouts et modifications¶
Méthodes
applyToAllInitializedTaskReactorInstances()
modifiées dans lecom.snowflake.connectors.taskreactor.TaskReactorInstanceActionExecutor
pour exécuter une action uniquement sur les instances de task reactor initialisées. Comportement précédent : les actions ont été exécutées sur toutes les instances de task reactor enregistrées.
Nouvelles fonctionnalités¶
Procédures de gestion des ressources :
De nouveaux rappels ont été introduits pour la procédure
PUBLIC.CREATE_RESOURCE()
qui permet d’effectuer des opérations personnalisées pendant le déroulement de la procédure. Voir aussi Créer une ressource.Nouvelle procédure
PUBLIC.ENABLE_RESOURCE()
qui permet d’activer la ressource désactivée. De plus, des rappels ont été ajoutés qui permettent d’effectuer des opérations personnalisées pendant le déroulement de la procédure. Voir aussi Activer la ressource.Nouvelle procédure
PUBLIC.DISABLE_RESOURCE()
qui permet de désactiver la ressource activée. De plus, des rappels ont été ajoutés qui permettent d’effectuer des opérations personnalisées pendant le déroulement de la procédure. Voir aussi Désactiver la ressource.Nouvelle procédure
PUBLIC.UPDATE_RESOURCE()
permettant de mettre à jour les configurations d’ingestion d’une ressource particulière. De plus, des rappels ont été ajoutés qui permettent d’effectuer des opérations personnalisées pendant le déroulement de la procédure. Voir aussi Mettre à jour la ressource.
com.snowflake.connectors.util.sql.SqlTools
:Ajout de la méthode
asVarchar()
qui devrait remplacer la méthodevarcharArgument()
.Ajout de la méthode
asVariant()
qui devrait remplacer la méthodevariantArgument()
.Méthodes
varcharArgument()
etvariantArgument()
marquées comme obsolètes et configurées pour qu’elles soient supprimées à l’avenir.
Autres ajouts :
Statut du processus d’ingestion défini comme constantes dans la classe
com.snowflake.connectors.application.ingestion.process.IngestionProcessStatuses
.Ajout de la méthode
isNotOk()
à la classecom.snowflake.connectors.common.response.ConnectorResponse
.Ajout de la classe
com.snowflake.connectors.util.snowflake.DefaultTransactionManager
qui permet d’exécuter des instructions SQL dans une transaction en utilisant la méthodewithTransaction()
.Amélioration de la journalisation dans le task reactor.
Corrections de bogues¶
Correction d’un bogue qui entraînait la suppression du schéma d’instance du task reactor, une fois qu’une erreur inattendue était générée pendant la procédure
CREATE_INSTANCE_OBJECTS()
.
Version 2.0.0 (24 mai 2024)¶
Version initiale