Native SDK for Connectors Java – Versionshinweise

Versionshinweise für Native SDK for Connectors Java-Bibliothek.

Version 2.2.0 (10. Juli 2024)

Allgemeine Änderungen

  • SnowSQL-Tool ersetzt durch das neue Snowflake CLI-Tool

  • Java-Abhängigkeiten aktualisiert

Verhaltensänderungen

  • com.snowflake.connectors.common.object:

    • Der von toString zurückgegebene Wert wurde so geändert, dass er mit dem von getValue in Klassen übereinstimmt:

      • Identifier

      • ObjectName

      • Reference

      • SchemaName

  • com.snowflake.connectors.application.scheduler.SchedulerCreator:

    • Umbenennung der Klasse in SchedulerManager.

  • com.snowflake.connectors.taskreactor.commands.queue.CommandsQueueRepository:

    • Umbenennung der Klasse in CommandsQueue.

  • com.snowflake.connectors.application.integration.SchedulerTaskReactorOnIngestionScheduled:

    • Umbenennung der Klasse in TaskReactorOnIngestionScheduledCallback.

    • Die Klasse verwendet nun ResourceIngestionDefinition und seine generischen Parameter.

  • com.snowflake.connectors.taskreactor.config.ConfigRepository:

    • Config-Werte werden jetzt immer als Zeichenfolgen und nicht als Varianten behandelt.

Neue Features

  • Neue PUBLIC.RESET_CONFIGURATION()-Prozedur, die es ermöglicht, den Status des Konfigurationsassistenten zurückzusetzen. Außerdem gibt es zusätzliche Callbacks, mit denen Sie während der Prozedur benutzerdefinierte Operationen durchführen können. Siehe auch Konfiguration zurücksetzen.

  • Neue PUBLIC.RECOVER_CONNECTOR_STATE(STRING)-Prozedur, die es ermöglicht, den Zustand des Konnektors zurückzusetzen. Siehe auch Wiederherstellen des Konnektorstatus.

  • Neue TASK_REACTOR.REMOVE_INSTANCE(STRING)-Prozedur, mit der Sie eine Task Reactor-Instanz entfernen können. Siehe auch Instanz entfernen.

  • com.snowflake.connectors.application.configuration.connector.ConnectorConfigurationKey:

    • Neuen Schlüssel CORTEX_WAREHOUSE hinzugefügt.

    • Neuen Schlüssel CORTEX_USER_ROLE hinzugefügt.

  • com.snowflake.connectors.util.time:

    • Neue Klassen für die JSON-Serialisierung von LocalDate und ZoneId hinzugefügt.

  • com.snowflake.connectors.common.task.TaskRepository:

    • Unterstützung für den Parameter AFTER bei der Aufgabenerstellung hinzugefügt, wenn Vorgänger von Aufgaben angegeben wurden.

    • Unterstützung für den Parameter USER_TASK_TIMEOUT_MS wurde hinzugefügt.

  • com.snowflake.connectors.common.task.TaskProperties:

    • Unterstützung für Aufgabenvorgänger hinzugefügt.

    • Unterstützung für die Eigenschaft USER_TASK_TIMEOUT_MS wurde hinzugefügt.

  • com.snowflake.connectors.util.sql.SqlTools:

  • Methode callProcedureRaw(Session, String, String...) hinzugefügt.

  • Methode callProcedureRaw(Session, String, String, String...) hinzugefügt.

  • Neue Klasse com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestionWorker hinzugefügt - eine einfache Worker-Implementierung zur Verwendung mit Datenaufnahme-Workloads.

  • Neue Klasse com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestion hinzugefügt - eine einfache Datenaufnahme-Darstellung, die von IngestionWorker verwendet werden kann.

  • Neue Klasse com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestionWorkItem hinzugefügt - eine einfache Workitem-Implementierung für Datenaufnahmearbeiten.

Fehlerkorrekturen

  • com.snowflake.connectors.common.task.TaskRepository:

    • Die Prüfung der Bedingung für die erfolgreiche Erstellung einer Aufgabe in create(TaskDefinition, boolean, boolean) wurde korrigiert.

  • com.snowflake.connectors.util.variant.VarianMapper:

    • Die Behandlung von Zeitstempeln in Varianten wurde korrigiert.

  • Die Standard-Eingabevalidierer in den Handlern für die Konfigurationsprozesse der Konnektoren wurden korrigiert.

  • DataFrame#first wurde aus den meisten SELECT-Abfragen entfernt, wodurch Probleme bei der Verwendung einiger Prozeduren in Aufgaben behoben wurden.

  • Die Gewährung von USAGE für das Schema STATE an die Anwendungsrolle ADMIN wurde entfernt.

  • Die fehlende Spalte UPDATED_AT wurde der Task Reactor-Konfigurationstabelle hinzugefügt.

Version 2.1.0 (8. Juli 2024)

Verhaltensänderungen

  • Neuer Ansatz für Bezeichner.

    Wichtig

    Dieser neue Ansatz kann die Verwendung von Bezeichnern in Ihrem Connector verändern. Bitte testen Sie die neuen Änderungen gründlich!

    • Das SDK erwartet nun, dass alle Bezeichner so gesendet werden, wie sie vom Benutzer angegeben wurden. Das SDK prüft selbst, ob es sich um einen zitierten Bezeichner handelt, um ihn korrekt weiter zu verarbeiten.

    • Das automatische Zitat von Bezeichnern erfolgt nur bei der Verwendung von Werten, die von Snowflake-Abfragen zurückgegeben werden.

    • Um den neuen Ansatz mit der UI zu verwenden, muss der Connector eine neue Eigenschaft in der Ansicht PUBLIC.APP_PROPERTIES mit dem Schlüssel UI_ADD_QUOTES_TO_EXISTING_QUOTED_IDENTIFIERS und dem Wert TRUE zurückgeben.

    • Geänderte com.snowflake.connectors.common.object.Identifier-Klasse:

      • Die Methoden fromWithAutoQuoting() und getName() wurden entfernt.

      • Das Konzept eines leeren Bezeichners wurde entfernt. Die Methoden empty(), isNullOrEmpty(), validateNullOrEmpty() und isEmpty() wurden entfernt.

      • Neue Methode from() hinzugefügt, die es ermöglicht, das automatische Zitieren bei der Erstellung der Instanz eines Bezeichners zu aktivieren. Die angegebene Zeichenfolge wird nicht automatisch in Anführungszeichen gesetzt, wenn es sich um einen Bezeichner ohne Anführungszeichen und mit Großbuchstaben handelt.

      • Die Methode validate() wurde in isValid() geändert.

      • Die Methode toSqlString() wurde in getValue() geändert.

      • Die Methoden getUnquotedValue(), getQuotedValue(), getVariantValue() und isUnquoted() wurden hinzugefügt.

  • Geänderte com.snowflake.connectors.common.object.ObjectName-Klasse:

    • Eigenschaften der Datenbank und des Schemas Optional gemacht.

    • Der Rückgabetyp von getDatabase() und getSchema() wurde in Optional geändert.

    • Die Methode validate() wurde in isValid() geändert.

    • Die Methode validateDoubleDot() wurde in isDoubleDot() geändert.

    • Die Methode getEscapedName() wurde in getValue() geändert.

    • Die Methoden getVariantValue() und getSchemaName() wurden hinzugefügt.

  • Geänderte com.snowflake.connectors.common.object.Reference-Klasse:

    • Das Konzept einer leeren Referenz wurde entfernt; die Methoden empty() und isEmpty() wurden entfernt.

    • Die Methode validate() wurde in isValid() geändert.

    • Die Methode referenceName() wurde in getName() geändert.

    • Die Methode value() wurde in getValue() geändert.

    • Neue com.snowflake.connectors.common.object.SchemaName-Klasse zur Darstellung des Schemas hinzugefügt; ähnliche Verhaltensweise wie die com.snowflake.connectors.common.object.ObjectName-Klasse.

    • Neue com.snowflake.connectors.common.object.InvalidSchemaNameException-Klasse hinzugefügt.

Andere Ergänzungen und Änderungen

  • Die Methode applyToAllInitializedTaskReactorInstances() in com.snowflake.connectors.taskreactor.TaskReactorInstanceActionExecutor wurde so geändert, dass eine Aktion nur bei initialisierten Task Reactor-Instanzen ausgeführt wird. Bisherige Verhaltensweise: Aktionen wurden für alle registrierten Task Reactor-Instanzen ausgeführt.

Neue Features

  • Prozeduren für das Management von Ressourcen:

  • com.snowflake.connectors.util.sql.SqlTools:

    • Methode asVarchar() hinzugefügt, die die Methode varcharArgument() ersetzen soll.

    • Methode asVariant() hinzugefügt, die die Methode variantArgument() ersetzen soll.

    • Methoden varcharArgument() und variantArgument() als veraltet markiert und darauf eingestellt, dass sie in Zukunft entfernt werden.

  • Weitere Ergänzungen:

    • Definierter Ingestion-Status als Konstanten in der Klasse com.snowflake.connectors.application.ingestion.process.IngestionProcessStatuses.

    • Methode isNotOk() zur Klasse com.snowflake.connectors.common.response.ConnectorResponse hinzugefügt.

    • Klasse com.snowflake.connectors.util.snowflake.DefaultTransactionManager hinzugefügt, die die Ausführung von SQL-Anweisungen innerhalb einer Transaktion mit der Methode withTransaction() ermöglicht.

    • Verbesserte Protokollierung im Task Reactor.

Fehlerkorrekturen

  • Korrektur eines Fehlers, der dazu führte, dass das Schema der Task Reactor-Instanz entfernt wurde, sobald ein unerwarteter Fehler während der Prozedur CREATE_INSTANCE_OBJECTS() auftrat.

Version 2.0.0 (24. Mai 2024)

Erstveröffentlichung.