К корзинам GCP можно получить доступ через несколько типов органов. Один из таких вариантов - «Сервисная учетная запись», т. Е. Если у нас есть сервисная учетная запись с желаемыми разрешениями, мы можем получить доступ к ресурсам GCP. Snowflake использует механизм учетной записи службы для взаимодействия с GCP.
Создание учетной записи службы : чтобы создать учетную запись службы, нам нужно создать
Integration object in Snowflake.
CREATE STORAGE INTEGRATION GCS_INT
TYPE = EXTERNAL_STAGE
STORAGE_PROVIDER = GCS
ENABLED = TRUE
STORAGE_ALLOWED_LOCATIONS=('gcs://my-bucket-name01/')
STORAGE_BLOCKED_LOCATIONS=('gcs://mybucket1/path1/sensitivedata/');
Опишите интеграцию иобратите внимание на идентификатор учетной записи службы. Это будет столбец в интеграции.
DESC STORAGE INTEGRATION GCS_INT;
СОЗДАТЬ формат данных :
CREATE OR REPLACE FILE FORMAT MY_CSV_FORMAT TYPE = CSV;
Создать промежуточный этап
CREATE STAGE MY_GCS_STAGE URL = 'gcs://my-bucket-name01/'
STORAGE_INTEGRATION = GCS_INT FILE_FORMAT = MY_CSV_FORMAT;
Перечислите этап : убедитесь, что созданный этап существует или нет.
LIST @MY_GCS_STAGE;
Таблица создания снежинки
CREATE TABLE EMPLOYEE(NAME VARCHAR, CLASS VARCHAR,DORM VARCHAR, ROOM
VARCHAR, GPA VARCHAR);
Выполнить команду копирования :
COPY INTO EMPLOYEE FROM @MY_GCS_STAGE PATTERN='employee-.*[.]csv';
Проверить результат таблицы Snowflake :
SELECT * FROM EMPLOYEE;