- Распечатать
Запрос информации из Snowflake для использования в приложениях Tulip
Аудитория
Обратите внимание, что Snowflake является технической программой и может потребовать от вашей ИТ-поддержки создания соответствующих ролей и разрешений.
Контакт службы поддержки
Этот коннектор был создан в сотрудничестве с компанией Spaulding Ridge. Для получения дополнительной информации или вопросов обращайтесь в Spaulding Ridge по адресу info@spauldingridge.com.
Назначение
Коннектор snowflake упрощает процесс запроса информации из облака данных Snowflake.
Примечания к коннектору
- Коннектор Snowflake используется для запроса информации из Snowflake; в настоящее время нет функциональности для записи непосредственно в Snowflake. Это можно сделать с помощью других инструментов, таких как Tables API.
- Коннектор Snowflake может относительно легко выводить отдельные строки в виде переменных. Для запроса нескольких строк данных потребуются собственные виджеты для работы с массивами.
- Документацию по Snowflake можно найти здесь.
Настройка
Для правильного использования требуется следующее: * Возможность создания учетных данных безопасности с помощью роли ACCOUNTADMIN * Возможность использования Refresh Tokens для генерации дополнительных токенов доступа (предпочтение безопасности для большинства компаний).
Чтобы включить это подключение, необходимо включить OAUTH на вашем экземпляре снежинки. 1. Войдите в свой экземпляр Snowflake с пользователем, имеющим роль ACCOUNTADMIN. 2. Запустите следующий сценарий для создания интеграции безопасности OAUTH
CREATE OR REPLACE SECURITY INTEGRATION oauth_tulip_int TYPE = OAUTH ENABLED = TRUE OAUTH_CLIENT = CUSTOM OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' OAUTH_REDIRECT_URI = 'https://[instance].tulip.co' OAUTH_ISSUE_REFRESH_TOKEN_VALIDITY = 7776000 BLOCKED_ROLES_LIST = ('SYSADMIN')
ПРИМЕЧАНИЕ: Срок действия Refresh Token Validity может достигать 90 дней. Токены доступа генерируются программно, а токены обновления создаются вручную ВSnowflake есть дополнительная документация по учетным данным безопасности.
Убедитесь, что вы обновили OAUTH_REDIRECT_URI на URL вашего экземпляра tulip.
- Выполните приведенный ниже оператор describe, чтобы получить следующие значения:
- OAUTH_CLIENT_ID
- OAUTH_REDIRECT_URI
- OAUTH_AUTHORIZATION_ENDPOINT
- OAUTH_TOKEN_ENDPOINT
DESC SECURITY INTEGRATION oauth_tulip_int;
- Выполните следующий оператор select, чтобы получить секреты клиентов OAUTH:
- OAUTH_CLIENT_SECRET2
- OAUTH_CLIENT_SECRET
select SYSTEM$SHOW_OAUTH_CLIENT_SECRETS( 'OAUTH_TULIP_INT' );
5. Запросите код авторизации, перейдя по URL:https://<yoursnowflakeinstance>.snowflakecomputing.com/oauth/authorize?response_type=code&client_id=<OAUTH_CLIENT_ID>&redirect_uri=<кодированное значениеOAUTH_REDIRECT_URI>
* Это приведет вас к окну входа, войдите и разрешите 'oauth_tulip_int' для доступа к вашей учетной записи snowflake. * Перенаправление на страницу, URL которой будет содержать code='xxxxxxx'. Это ваш Auth Code Grant, сохраните его для подключения в Tulip.Обратите внимание:* Все параметры запроса должны быть закодированы. Используйте такой инструмент, как urlencoder.io, чтобы правильно закодировать текст.
- Войдите в Tulip и добавьте коннектор Snowflake из библиотеки Tulip (Web или Embedded).
- Нажмите на Production & testing & development в разделе настроек среды в левой части пользовательского интерфейса Tulip.
- Обновите Host, чтобы это был URL-адрес вашего экземпляра снежинки:
Зайдите в свой экземпляр Snowflake и скопируйте URL вашей учетной записи, расположенный в правом нижнем углу экрана (там будет кнопка, которую можно нажать, чтобы скопировать ее).
- Теперь вы можете безопасно подключаться к Snowflake из Tulip. Некоторые примеры функций включены в содержимое библиотеки, включая авторизацию и получение токена OAUTH.Пример: Используйте код авторизации, сгенерированный на шаге 5, в качестве значения refresh_token в шаблоне "Получить токен OAuth2".
Использование
После того как токен доступа сгенерирован, его можно использовать в качестве несущего токена в SQL-запросе к Snowflake.
Убедитесь, что запросы установлены на POST-запрос, и убедитесь, что /api/v2/statements добавлен в конец url хоста для запросов к базе данных.
Дополнительные ссылки
Это руководство сообщества Snowflake также содержит дополнительные сведения об интеграции Snowflake