{"version":3,"sources":["webpack:///./src/pages/docs/Connecting to Databases/snowflake.mdx"],"names":["_frontmatter","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,sOAE5B,IAKMC,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeI,EAAf,CAAsBD,WAAYA,EAAYE,QAAQ,cAC3D,iBAAQ,CACN,GAAM,aADR,aAGA,4EAEE,gBAAO,CACL,KAAQ,iDACR,WAAc,KAFhB,wBAFF,KAOA,6EACA,uBAAK,mBAAU,CACX,WAAc,OADb,oGAIL,kMAEA,uBAAK,mBAAU,CACX,WAAc,OADb,kEAIL,4jB,oOAUJH,EAAWI,gBAAiB","file":"component---src-pages-docs-connecting-to-databases-snowflake-mdx-c8d91fce2781acf1c886.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/evan/GitHub/incubator-superset_preset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return <div {...props} />;\n};\n\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...props} components={components} mdxType=\"MDXLayout\">\n    <h2 {...{\n      \"id\": \"snowflake\"\n    }}>{`Snowflake`}</h2>\n    <p>{`The recommended connector library for Snowflake is\n`}\n      <a {...{\n        \"href\": \"https://pypi.org/project/snowflake-sqlalchemy/\",\n        \"parentName\": \"p\"\n      }}>{`snowflake-sqlalchemy`}</a>\n      {`.`}</p>\n    <p>{`The connection string for Snowflake looks like this:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`snowflake://{user}:{password}@{account}.{region}/{database}?role={role}&warehouse={warehouse}\n`}</code></pre>\n    <p>{`The schema is not necessary in the connection string, as it is defined per table/query. The role and\nwarehouse can be omitted if defaults are defined for the user, i.e.`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`snowflake://{user}:{password}@{account}.{region}/{database}\n`}</code></pre>\n    <p>{`Make sure the user has privileges to access and use all required\ndatabases/schemas/tables/views/warehouses, as the Snowflake SQLAlchemy engine does not test for\nuser/role rights during engine creation by default. However, when pressing the “Test Connection”\nbutton in the Create or Edit Database dialog, user/role credentials are validated by passing\n“validate_default_parameters”: True to the connect() method during engine creation. If the user/role\nis not authorized to access the database, an error is recorded in the Superset logs.`}</p>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}