雪花中的管道通知绑定失败

Posted

技术标签:

【中文标题】雪花中的管道通知绑定失败【英文标题】:Pipe Notifications bind failure in Snowflake 【发布时间】:2021-03-21 12:36:27 【问题描述】:

我创建了存储集成、阶段和通知集成。外部表的创建失败。

-- creating storage integration
CREATE or REPLACE STORAGE INTEGRATION az_stg_intg1
TYPE = EXTERNAL_STAGE
STORAGE_PROVIDER = AZURE
ENABLED = TRUE
AZURE_TENANT_ID = '1304de06-xxxxxxxxx'
STORAGE_ALLOWED_LOCATIONS = ('azure://xxxxx.blob.core.windows.net/mock1', 'azure://xxxxx.blob.core.windows.net/mock2', ...)

-- create stage
create or replace stage az_stg1
url='azure://xxxxxxx.blob.core.windows.net/mock1'
STORAGE_INTEGRATION = az_stg_intg1
file_format = my_csv_format;

-- confirmed if it's accessible
select t.$1, t.$2 from @az_stg1 (file_format => 'my_csv_format', pattern=>'.*data.*[.]csv') t;


-- create notification integration
create notification integration az_notn_intg1
enabled = true
type = queue
notification_provider = azure_storage_queue
azure_storage_queue_primary_uri = 'https://xxxxx.queue.core.windows.net/queue-name'
azure_tenant_id = '1304de06-xxxxxxx';

-- create external table
create or replace external table extable_1
 integration = az_notn_intg1
 with location = @az_stg1/data1
 auto_refresh = true
 file_format = (type = csv);

在 azure 方面,已创建事件网格订阅并将 SnowflakeXXX 添加到角色分配中。

执行创建外部表时出现错误:

Pipe Notifications bind failure "Integration az_notn_intg1 not found.

【问题讨论】:

【参考方案1】:

你能把集成名称写成大写吗?

create or replace external table extable_1
integration = 'AZ_NOTN_INTG1'
with location = @az_stg1/data1
auto_refresh = true
file_format = (type = csv);

集成名称必须全部大写:

https://docs.snowflake.com/en/user-guide/tables-external-azure.html#step-4-creating-an-external-table

【讨论】:

雪花不单独执行该默认行为真是太疯狂了。

以上是关于雪花中的管道通知绑定失败的主要内容,如果未能解决你的问题,请参考以下文章

雪花警报长时间运行的查询

雪花数据管道问题-特别是流问题

雪花中的查询超时问题

雪花程序因任务执行而失败

雪花:从另一个过程调用的带有 ARRAY 参数的过程

雪花 - 使用绑定变量