def create_stage(self, connection): stage_url = canonicalize_s3_url(self.input()['insert_source_task'].path) query = """ CREATE OR REPLACE STAGE {database}.{schema}.{table}_stage URL = '{stage_url}' CREDENTIALS = (AWS_KEY_ID='{aws_key_id}' AWS_SECRET_KEY='{aws_secret_key}') FILE_FORMAT = {database}.{schema}.{file_format_name}; """.format( database=self.database, schema=self.schema, table=self.table, stage_url=stage_url, aws_key_id=self.output().aws_key_id, aws_secret_key=self.output().aws_secret_key, file_format_name=self.file_format_name, ) connection.cursor().execute(query)
def test_canonicalize_s3_url(self, original_url, canonicalized_url): self.assertEquals( s3_util.canonicalize_s3_url(original_url), canonicalized_url, )