如何从雪花的“存储集成”中选择值?

时间:2021-05-12 08:00:10

标签: python-3.x snowflake-cloud-data-platform snowflake-schema

我通过执行以下命令创建了存储集成

create or replace storage integration stager 
       type = external_stage
       storage_provider = s3
       enabled = true
       storage_aws_role_arn = 'arn:aws:iam::24545426:role/test'
       storage_allowed_locations = ('s3://testb/')

之后我执行了 DESC INTEGRATION stager

我得到的结果是

enter image description here

现在我想要选择 STORAGE_AWS_EXTERNAL_IDproperty valuestager

如何使用查询或python选择STORAGE_AWS_EXTERNAL_IDproperty value

1 个答案:

答案 0 :(得分:1)

您可以使用 RESULT_SCAN 函数来处理另一个查询的结果(使用 SQL):

https://docs.snowflake.com/en/sql-reference/functions/result_scan.html

https://docs.snowflake.com/en/sql-reference/functions/result_scan.html#examples-using-describe-and-show-commands

对于蟒蛇:

import snowflake.connector

ctx = snowflake.connector.connect(
      ...
) 


cs = ctx.cursor()

try:
    sql = "DESC INTEGRATION stager"
    cs.execute( sql )
    for (c_property, c_type, c_value, c_default) in cs:
        if c_property == "STORAGE_AWS_EXTERNAL_ID":
            print('{0}, {1}'.format(c_property, c_value))


finally:
    cs.close()

这是上面Python脚本的结果:

STORAGE_AWS_EXTERNAL_ID, WX65722_SFCRole=2_GpY+ZF0b41Nu3d2ZDFYPfCUbBxk=