class Multiwoven::Integrations::Source::AmazonS3::Client

def create_connection(connection_config)

def create_connection(connection_config)
  # In the case when previewing a query
  @session_name = "preview-#{connection_config[:region]}-#{connection_config[:bucket]}" if @session_name.to_s.empty?
  auth_data = get_auth_data(connection_config)
  conn = DuckDB::Database.open.connect
  # Install and/or Load the HTTPFS extension
  conn.execute(INSTALL_HTTPFS_QUERY)
  # Set up S3 configuration
  secret_query = "
        CREATE SECRET amazons3_source (
        TYPE S3,
        KEY_ID '#{auth_data.credentials.access_key_id}',
        SECRET '#{auth_data.credentials.secret_access_key}',
        REGION '#{connection_config[:region]}',
        SESSION_TOKEN '#{auth_data.credentials.session_token}'
    );
  "
  get_results(conn, secret_query)
  conn
end