Back to source list
Official
Premium
Snowflake Config
Snowflake Config plugin pulls configuration information out of Snowflake and loads it into any supported CloudQuery destination
Publisher
cloudquery
Latest version
v4.4.4
Type
Source
Platforms
Date Published
Price per 1M rows
Starting from $17
monthly free quota
1M rows
Overview #
Snowflake Config Source Plugin
The Snowflake Config source plugin helps you sync configuration information from your Snowflake account.
Example Config #
This example sets the connection string to a value read from the
SNOWFLAKE_CONNECTION_STRING
environment variable:kind: source
spec:
name: snowflake-config
path: cloudquery/snowflake-config
registry: cloudquery
version: "v4.4.4"
# Learn more about the configuration options at https://cql.ink/snowflake-config_source
spec:
connection_string: "${SNOWFLAKE_CONNECTION_STRING}"
# Optional parameters
# private_key: ""
# concurrency: 10000
Authentication #
Authentication of the connection to Snowflake can be specified using:
- A username and password in the DSN:
kind: source spec: name: snowflake-config # ... spec: connection_string: "user:pass@account"
- A private key inline:
kind: source spec: name: snowflake-config # ... spec: connection_string: "user@account" private_key: | -----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC2ajPRIbPtbxZ1 3DONLA02eZJuCzsgIkBWov/Me5TL6cKN0gnY+mbA8OnNCH+9HSzgiU9P8XhTUrIN 85diD+rj6uK+E0sSyxGk6HG17TyR5oBq8nz2hbZlbaNi/HO9qYoHQgAgMq908YBz ... DUmOIrBYEMf2nDTlTu/QVcKb -----END PRIVATE KEY-----
- A private key included from a file:
kind: source spec: name: snowflake-config # ... spec: connection_string: "user@account" private_key: "${file:./private.key}"
where ./private.key is PEM-encoded private key file with contents of the form:-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC2ajPRIbPtbxZ1 3DONLA02eZJuCzsgIkBWov/Me5TL6cKN0gnY+mbA8OnNCH+9HSzgiU9P8XhTUrIN 85diD+rj6uK+E0sSyxGk6HG17TyR5oBq8nz2hbZlbaNi/HO9qYoHQgAgMq908YBz ... DUmOIrBYEMf2nDTlTu/QVcKb -----END PRIVATE KEY-----
Private Key Authentication Setup #
The Snowflake guide for Key Pair Authentication
demonstrates how to create an RSA private key with the ability to authenticate as a Snowflake user.
Snowflake Config Spec #
This is the top level spec used by the Snowflake Config source plugin.
connection_string
(string
) (required)Snowflakeconnection_string
.
Example:
# user[:password]@account
# or
# user[:password]@account/database/schema?warehouse=user_warehouse[¶m1=value1¶mN=valueN]
# or
# user[:password]@account/database?warehouse=user_warehouse[¶m1=value1¶mN=valueN]
# or
# user[:password]@host:port/database/schema?account=user_account&warehouse=user_warehouse[¶m1=value1¶mN=valueN]
# or
# host:port/database/schema?account=user_account&warehouse=user_warehouse[¶m1=value1¶mN=valueN]
From Snowflake documentation:
account
- Name assigned to your Snowflake account. If you are not on us-west-2
or AWS deployment, append the region and platform to the end, e.g., <account>.<region> or <account>.<region>.<platform>
.private_key
(string
) (optional)A PEM-encoded private key for connecting to Snowflake. Equivalent to addingauthenticator=snowflake_jwt&privateKey=...
to theconnection_string
but parses, validates, and correctly encodes the key for use with snowflake.concurrency
(integer
) (optional) (default:10000
) A best effort maximum number of Go routines to use. Lower this number to reduce memory usage.scheduler
(string
) (optional) (default:dfs
) The scheduler to use when determining the priority of resources to sync. Supported values aredfs
(depth-first search),round-robin
,shuffle
andshuffle-queue
.For more information about this, see performance tuning.
Underlying library #
We use the same library as the official Terraform plugin for connection.
Licenses #
The following tools / packages are used in this plugin:
Name | License |
---|---|
github.com/99designs/go-keychain | MIT |
github.com/99designs/keyring | MIT |
github.com/Azure/azure-sdk-for-go/sdk/azcore | MIT |
github.com/Azure/azure-sdk-for-go/sdk/internal | MIT |
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob | MIT |
github.com/JohnCGriffin/overflow | MIT |
github.com/Snowflake-Labs/terraform-provider-snowflake/pkg | MIT |
github.com/adrg/xdg | MIT |
github.com/apache/arrow/go/v13 | Apache-2.0 |
github.com/apache/arrow/go/v15 | Apache-2.0 |
github.com/apache/arrow-go/v18 | Apache-2.0 |
github.com/apapsch/go-jsonmerge/v2 | MIT |
github.com/aws/aws-sdk-go-v2 | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/config | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/credentials | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/feature/ec2/imds | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/feature/s3/manager | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/configsources | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/ini | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/sync/singleflight | BSD-3-Clause |
github.com/aws/aws-sdk-go-v2/internal/v4a | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/internal/checksum | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/internal/s3shared | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/licensemanager | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/marketplacemetering | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/s3 | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/sso | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/ssooidc | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/sts | Apache-2.0 |
github.com/aws/smithy-go | Apache-2.0 |
github.com/aws/smithy-go/internal/sync/singleflight | BSD-3-Clause |
github.com/bahlo/generic-list-go | BSD-3-Clause |
github.com/buger/jsonparser | MIT |
github.com/cenkalti/backoff/v4 | MIT |
github.com/cloudquery/cloudquery-api-go | MPL-2.0 |
github.com/cloudquery/plugin-pb-go | MPL-2.0 |
github.com/cloudquery/plugin-sdk/v2/internal/glob | MIT |
github.com/cloudquery/plugin-sdk/v2/schema | MIT |
github.com/cloudquery/plugin-sdk/v2/types | MPL-2.0 |
github.com/cloudquery/plugin-sdk/v4 | MPL-2.0 |
github.com/cloudquery/plugin-sdk/v4/glob | MIT |
github.com/cloudquery/plugin-sdk/v4/scalar | MIT |
github.com/davecgh/go-spew/spew | ISC |
github.com/dvsekhvalnov/jose2go | MIT |
github.com/gabriel-vasile/mimetype | MIT |
github.com/ghodss/yaml | MIT |
github.com/go-logr/logr | Apache-2.0 |
github.com/go-logr/stdr | Apache-2.0 |
github.com/goccy/go-json | MIT |
github.com/golang-jwt/jwt/v5 | MIT |
github.com/golang/mock/gomock | Apache-2.0 |
github.com/google/flatbuffers/go | Apache-2.0 |
github.com/google/uuid | BSD-3-Clause |
github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors | Apache-2.0 |
github.com/grpc-ecosystem/grpc-gateway/v2 | BSD-3-Clause |
github.com/hashicorp/go-cleanhttp | MPL-2.0 |
github.com/hashicorp/go-retryablehttp | MPL-2.0 |
github.com/invopop/jsonschema | MIT |
github.com/jmoiron/sqlx | MIT |
github.com/klauspost/compress | Apache-2.0 |
github.com/klauspost/compress/internal/snapref | BSD-3-Clause |
github.com/klauspost/compress/zstd/internal/xxhash | MIT |
github.com/luna-duclos/instrumentedsql | MIT |
github.com/mailru/easyjson | MIT |
github.com/mattn/go-colorable | MIT |
github.com/mattn/go-isatty | MIT |
github.com/mtibben/percent | MIT |
github.com/oapi-codegen/runtime | Apache-2.0 |
github.com/pelletier/go-toml/v2 | MIT |
github.com/pierrec/lz4/v4 | BSD-3-Clause |
github.com/pkg/browser | BSD-2-Clause |
github.com/pmezard/go-difflib/difflib | BSD-3-Clause |
github.com/rs/zerolog | MIT |
github.com/samber/lo | MIT |
github.com/santhosh-tekuri/jsonschema/v6 | Apache-2.0 |
github.com/sirupsen/logrus | MIT |
github.com/snowflakedb/gosnowflake | Apache-2.0 |
github.com/spf13/cobra | Apache-2.0 |
github.com/spf13/pflag | BSD-3-Clause |
github.com/stretchr/testify | MIT |
github.com/thoas/go-funk | MIT |
github.com/wk8/go-ordered-map/v2 | Apache-2.0 |
github.com/zeebo/xxh3 | BSD-2-Clause |
go.opentelemetry.io/otel | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp | Apache-2.0 |
go.opentelemetry.io/otel/log | Apache-2.0 |
go.opentelemetry.io/otel/metric | Apache-2.0 |
go.opentelemetry.io/otel/sdk | Apache-2.0 |
go.opentelemetry.io/otel/sdk/log | Apache-2.0 |
go.opentelemetry.io/otel/sdk/metric | Apache-2.0 |
go.opentelemetry.io/otel/trace | Apache-2.0 |
go.opentelemetry.io/proto/otlp | Apache-2.0 |
golang.org/x/crypto/ocsp | BSD-3-Clause |
golang.org/x/exp | BSD-3-Clause |
golang.org/x/net | BSD-3-Clause |
golang.org/x/sync | BSD-3-Clause |
golang.org/x/sys | BSD-3-Clause |
golang.org/x/term | BSD-3-Clause |
golang.org/x/text | BSD-3-Clause |
golang.org/x/xerrors | BSD-3-Clause |
google.golang.org/genproto/googleapis/api/httpbody | Apache-2.0 |
google.golang.org/genproto/googleapis/rpc/status | Apache-2.0 |
google.golang.org/grpc | Apache-2.0 |
google.golang.org/protobuf | BSD-3-Clause |
gopkg.in/yaml.v2 | Apache-2.0 |
gopkg.in/yaml.v3 | MIT |