ПОМЕСТИТЕ файл в таблицу на этапе с локального компьютера на этапе таблицы снежинок

#snowflake-cloud-data-platform

Вопрос:

Я новичок в snowflake, поэтому, пожалуйста, проявите ко мне немного милосердия 🙂

Я пытаюсь перенести файл в таблицу с помощью snowsql. у меня есть хранилище, имя базы данных, имя схемы-все готово. У меня также есть созданная таблица, однако при попытке поместить файл я получаю ошибку проверки SSL в s3

 kywils2#COMPUTE_WH@KW_POC_DB.MDBPRD_MASTER_DM>show TABLES;
 ------------------------------- ---------------------------- --------------- ------------------ ------- --------- ------------ ------ ------- ---------- ---------------- ---------------------- ----------------- --------------------- ------------------------------ --------------------------- ------------- 
| created_on                    | name                       | database_name | schema_name      | kind  | comment | cluster_by | rows | bytes | owner    | retention_time | automatic_clustering | change_tracking | search_optimization | search_optimization_progress | search_optimization_bytes | is_external |
|------------------------------- ---------------------------- --------------- ------------------ ------- --------- ------------ ------ ------- ---------- ---------------- ---------------------- ----------------- --------------------- ------------------------------ --------------------------- -------------|
| 2021-07-16 10:00:25.390 -0700 | MDM_CL_FR_DONATIONS_543611 | KW_POC_DB     | MDBPRD_MASTER_DM | TABLE |         |            |    0 |     0 | SYSADMIN | 1              | OFF                  | OFF             | OFF                 |                         NULL |                      NULL | N           |
 ------------------------------- ---------------------------- --------------- ------------------ ------- --------- ------------ ------ ------- ---------- ---------------- ---------------------- ----------------- --------------------- ------------------------------ --------------------------- ------------- 
 

моя команда:

put file://c:\UserskywilsDocumentsIT_DBAsnowflake_trainingsnowpipe_testingMDBPRD_MASTER_DM_MDM_CL_FR_DONATIONS_543611_splitaa.gz @%MDM_CL_FR_DONATIONS_543611;

ошибка:

SSL validation failed for https://sfc-va2-ds1-28-customer-stage.s3.amazonaws.com/?accelerate [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)

насколько я понимаю, этапы таблицы-это тип внутреннего хранилища snowflake, поэтому я не понимаю, почему он даже пытается перейти в S3?

я попробовал использовать двойные обратные косые черты в имени файла. Я также пытался использовать этап имени, но получаю ту же ошибку.

Ответ №1:

насколько я понимаю, этапы таблицы-это тип внутреннего хранилища snowflake, поэтому я не понимаю, почему он даже пытается перейти в S3?

Когда Snowflake работает на AWS, все файлы, хранящиеся на внутренних этапах, находятся в S3. Внутренняя сцена по-прежнему S3, просто область, которой управляет Снежинка. Все хранилище таблиц и материализованных представлений также является S3.

Когда вы можете получить доступ к своей учетной записи Snowflake через веб-интерфейс или клиент, такой как SnowSQL, но не можете перейти на внутреннюю стадию, обычно это сетевое устройство, выполняющее проверку пакетов. Такие устройства, как Zscalar, Palo Alto, Cisco Umbrella и другие, находятся между вашим клиентом и общедоступным Интернетом. Иногда они будут сбиты с толку SSL-сертификатом Snowflake для внутренних этапов в S3 (или Blob-объекте Azure, или хранилище GCP).

Чтобы решить эту проблему, вам следует начать с выполнения этой команды:

 select SYSTEM$WHITELIST();
 

С помощью этой команды вы можете попросить своих сетевых администраторов исключить все URL-адреса для заданных портов (443 или 80) из проверки пакетов-в основном это четкий путь. Когда Snowflake создает учетную запись, эти URL-адреса привязываются к учетной записи и не изменяются. Используемые ими IP — номера могут и будут меняться, поэтому вы можете сообщить сетевой команде, что это не вариант. Они могут открыть ряд IP — адресов, но это будет обширно-весь диапазон AWS.

Вы можете подтвердить, что все необходимые сетевые пути очищены, запустив SnowCD с помощью вывода функции SYSTEM$WHITELIST ().

https://docs.snowflake.com/en/user-guide/snowcd.html