
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
macrometa-source-snowflake
Advanced tools
A macrometa source that extracts data from a Snowflake database and produces JSON-formatted data following the Singer spec.
TODO: Add proper context If you want to run this macrometa-source-snowflake connector independently please read further.
First, make sure Python 3 is installed on your system or follow these installation instructions for Mac or Ubuntu. It's recommended to use a virtualenv:
make venv
config.json
file with connection details to snowflake, here is a sample config file.
Note: table
is a mandatory parameter as well to avoid a long-running catalog discovery process.
Please specify fully qualified table and view names and only that ones that you need to extract otherwise you can
end up with very long running discovery mode of this source connector. Discovery mode is analysing table structures but
Snowflake doesn't like selecting lot of rows from INFORMATION_SCHEMA
or running SHOW
commands that returns lot of
rows. Please be as specific as possible.properties.json
properties.json
and select the streams to replicate macrometa-source-snowflake --config config.json --properties properties.json --state state.json
You can either use basic user/password authentication or Key Pair authentication.
Populate user
and password
in the config.json
file
To use key pair authentication, omit the password
and instead provide the private_key
to the unencrypted version of the private key and, optionally, the private_key_passphrase
.
The macrometa-source-snowflake connector can be invoked in discovery mode to find the available table and columns in the database:
$ macrometa-source-snowflake --config config.json --discover
A discovered catalog is output, with a JSON-schema description of each table. A source table directly corresponds to a Singer stream.
The two ways to replicate a given table are FULL_TABLE
and LOG_BASED
.
Full-table replication extracts all data from the source table each time the connector is invoked.
Macrometa source Snowflake connector can be used as a CDC (Change Data Capture) connector by specifying the Replication Method as LOG_BASED to capture any changes done at source and identify what records were inserted or updated or deleted, it will extract first all the records (i.e. FULL_TABLE) and then it will continuously listen to a Stream created on the Table to extract only the changes done.
export MACROMETA_SOURCE_SNOWFLAKE_ACCOUNT=<snowflake-account-name>
export MACROMETA_SOURCE_SNOWFLAKE_DBNAME=<snowflake-database-name>
export MACROMETA_SOURCE_SNOWFLAKE_USER=<snowflake-user>
export MACROMETA_SOURCE_SNOWFLAKE_PASSWORD=<snowflake-password>
export MACROMETA_SOURCE_SNOWFLAKE_PRIVATE_KEY=<snowflake-pk-path>
export MACROMETA_SOURCE_SNOWFLAKE_PRIVATE_KEY_PASSPHRASE=<snowflake-passphrase>
export MACROMETA_SOURCE_SNOWFLAKE_WAREHOUSE=<snowflake-warehouse>
make venv
make unit_test
make integration_test
make venv format pylint
Apache License Version 2.0 See LICENSE to see the full text.
FAQs
Macrometa Source for extracting data from Snowflake
We found that macrometa-source-snowflake demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.