0

我正在创建一个外部阶段,我希望它基于 2 个 URL。

问题 1

url1 = s3://bucket1/f1/2022/2/
url2 = s3://bucket1/f3/2022/2/

create or replace stage ext_stage url = ??????????
file_format=data_format
storage_integration=s3_integration;

如何在外部阶段命令中提供 2 个 URL?可能吗?

问题 2

另外,我需要形成 URL。

我正在考虑使用一个程序。

CREATE OR REPLACE PROCEDURE get_url()
  RETURNS STRING
  LANGUAGE SCALA
  RUNTIME_VERSION = '2.12'
  HANDLER = 'C.run'
  PACKAGES = ('com.snowflake:snowpark:latest')
  AS
  $$
    import java.util.Calendar
    object C{
      def run(session: com.snowflake.snowpark.Session): String = {
         try {
            val cal = Calendar.getInstance()
            val year =cal.get(Calendar.YEAR)
            var month =cal.get(Calendar.MONTH) + 1
            return "s3://bucket1/folder1/" + year + "/"+ month + "/"
           }
         catch {
              case e: Throwable => println("Not able to for url")
              return "Failed"
             }
      }
    }
  $$;

create or replace stage ext_stage url = call get_url()
file_format=data_format
storage_integration=s3_integration;


它失败了,我无法调用该函数。我怎么称呼它?

4

0 回答 0