Is there a way to create Snowpipe or Ingestion in Snowflake for a public Azure Blob dataset? - Stack Overflow

I have done Snowpipe before for a azure Blob before, but since it was private I had access to tenant_id

I have done Snowpipe before for a azure Blob before, but since it was private I had access to tenant_id and all authentications. Maybe the question seems backward but when a storage is public, Can we create a data pipeline based on it? I've ingested the data to an external storage in Snowflake, and from there tried to create a pipe to copy data from External to raw table. It still ask for credentials.

    CREATE OR REPLACE STAGE <name>_stage
    URL = 'azure://azureopendatastorage.blob.core.windows/<>'
    FILE_FORMAT = (TYPE = PARQUET);
    CREATE OR REPLACE PIPE raw_pipe
    AUTO_INGEST = TRUE
    AS
    COPY INTO nyc_raw
    FROM @<name>_stage
    PATTERN = '.*\.parquet$'
    FILE_FORMAT = (TYPE = 'PARQUET')
    ON_ERROR = 'CONTINUE';

I have done Snowpipe before for a azure Blob before, but since it was private I had access to tenant_id and all authentications. Maybe the question seems backward but when a storage is public, Can we create a data pipeline based on it? I've ingested the data to an external storage in Snowflake, and from there tried to create a pipe to copy data from External to raw table. It still ask for credentials.

    CREATE OR REPLACE STAGE <name>_stage
    URL = 'azure://azureopendatastorage.blob.core.windows/<>'
    FILE_FORMAT = (TYPE = PARQUET);
    CREATE OR REPLACE PIPE raw_pipe
    AUTO_INGEST = TRUE
    AS
    COPY INTO nyc_raw
    FROM @<name>_stage
    PATTERN = '.*\.parquet$'
    FILE_FORMAT = (TYPE = 'PARQUET')
    ON_ERROR = 'CONTINUE';
Share Improve this question asked Mar 27 at 16:25 MinaBMinaB 411 silver badge3 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

AUTO_INGEST requires a Snowflake notification integration that is linked to an Azure Storage queue. This is why it's asking for credentials.

It's still possible to create a snowpipe but you should use AUTO_INGEST=FALSE, and run refresh commands by a task (or any other scheduler).

  CREATE OR REPLACE PIPE raw_pipe
    AUTO_INGEST = FALSE
    AS
    COPY INTO nyc_raw
    FROM @my_stage
    PATTERN = '.*\.parquet$'
    FILE_FORMAT = (TYPE = 'PARQUET')
    ON_ERROR = 'CONTINUE';

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744080367a4555175.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信