- 类别:
系统函数 (系统信息)
SYSTEM$GET_AWS_SNS_IAM_POLICY¶
返回 AWS IAM 策略声明,该声明必须添加到 Amazon SNS 主题策略中,才能允许由 Snowflake 创建的 Amazon SQS 消息队列订阅该主题。
当使用 S3 事件的 SQS 通知来自动化 Snowpipe 时,将使用此函数。为了避免与同一 *端点*(即 S3 桶)的现有 SQS 队列发生冲突,为该桶创建 SNS 主题并将所有 SQS 队列订阅到该主题,使 SNS 能够将该桶的事件通知发布给多个订阅者。
语法¶
SYSTEM$GET_AWS_SNS_IAM_POLICY( '<sns_topic_arn>' )
实参¶
sns_topic_arn
S3 桶中 SNS 主题的 Amazon Resource Name (ARN)。该函数返回 Snowflake 的 SQS 队列的 IAM 策略以订阅此主题。
使用说明¶
所有实参都是字符串(即它们必须放入单引号内)。
示例¶
返回指定 SNS 主题 ARN 的 IAM 策略:
select system$get_aws_sns_iam_policy('arn:aws:sns:us-west-2:001234567890:s3_mybucket'); +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | SYSTEM$GET_AWS_SNS_IAM_POLICY('ARN:AWS:SNS:US-WEST-2:001234567890:S3_MYBUCKET') | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | {"Version":"2012-10-17","Statement":[{"Sid":"1","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::123456789001:user/vj4g-a-abcd1234"},"Action":["sns:Subscribe"],"Resource":["arn:aws:sns:us-west-2:001234567890:s3_mybucket"]}]} | +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+