云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名解析_免费邮箱服务器_评分榜

小七 141 0

外部函数现在可以在公共预览中使用

外部函数现在可以在公共预览中使用2020年6月3日|6分钟读数作者:胡锦涛|撰稿作者:外部职能团队如何使用雪花,雪花技术正如您在6月2日发布的最新产品(为数据云做好准备)中所听到的,我们刚刚向公众发布了外部功能。外部功能为雪花带来了一些令人兴奋的新可能性,我们期待着看到社区如何利用它们。外部函数允许您创建通过awsapi网关安全调用外部实现的HTTPS端点的SQL函数。这意味着您的函数可以用任何语言实现,也可以使用任何库,而所有这些都是在雪花中使用您的数据,为您提供了处理数据的更多选项。外部函数的一些示例用法包括:调用第三方服务进行地理编码、文本分析或标记化访问您创建和托管的机器学习模型用你喜欢的任何语言创建复杂的自定义代码在本文的其余部分,我们将更深入地了解什么是外部函数以及如何开始。外部功能架构雪花通过基于AWS身份和访问管理(IAM)角色的临时凭证安全地访问awsapi网关端点。这是通过使用API集成对象来实现的,API集成对象还可以处理白名单和黑名单,从而有效地让管理员有权控制外部函数的使用,并控制他们的数据可以到达哪些端点。一旦设置了外部功能,基本操作如下:Snowflake用户通过在查询中使用函数来调用具有数据的外部函数。雪花批处理数据并将其发送到客户的awsapi网关中的指定端点。awsapi网关可以将转换应用于HTTPS请求,然后将其转发到后端服务。后端处理这批记录,然后将结果返回到awsapi网关。雪花从awsapi网关接收数据并继续处理查询。这是这座建筑的视觉表现。简化工作流程在使用外部函数之前,如果用户希望使用外部库或服务处理雪花数据,则必须先导出数据、处理数据,然后再重新导入。SQL使数据管道变得复杂,这使得数据处理变得非常困难。外部功能大大简化了这一工作流程。例子假设您有一个表,其中所有发票记录都是用英语编写的,但是您需要将它们翻译为德语以供会计部门使用。使用awslambda作为后端,下面的代码将英语翻译成德语,假设您的执行角色具有适当的权限。导入json进口boto3translate=boto3.client('translate')def lambda_处理程序(事件,上下文):翻译后=[]主体=json.loads(事件正文"])状态代码=200对于行内数据"]:尝试:翻译的_文本=translate.translate_文本(文本=行[1],源语言代码='en',TargetLanguageCode='de')翻译文本"]除e类例外:印刷品(e);translate_text="错误"#状态代码400表示错误状态代码=400       已翻译.append([行[0],翻译的文本])json\U兼容的字符串返回=json.dumps文件({"data":翻译的})#根据雪花指定的结果格式返回数据返回{"状态码":状态码,"body":json\u兼容的字符串   }要设置awsapi网关端点,需要使用POST方法设置一个资源,并选择"Lambda"作为集成类型。稍后,可以将身份验证方法设置为IAM并限制对雪花的访问。最后,您可以部署端点并使用它来配置外部函数。首先,为端点创建一个子资源,如以下屏幕截图所示: 设置调用方法。在本例中,您需要确保使用的是Lambda集成:请检查您是否正在使用AWS\u IAM身份验证。必须手动设置身份验证才能使用IAM。您还需要手动设置端点的资源策略,以描述谁有权访问它,如下所述:单击Actions->Deploy API以部署端点。您将能够看到外部函数应该调用的端点,标记为"invoke URL" 在AWS上设置权限以使雪花能够安全地生成访问您的AWS API网关终结点的访问凭据后,请使用以下代码创建API集成和外部函数:--创建API集成创建或替换api集成外部api集成api_provider=aws_api_网关api_aws_role_arn='arn:aws公司:iam:::角色/'api允许的前缀=('https://gr8i78j7ei.execute-api.us-east-2.amazonaws.com/test/translate-en-de')启用=真;--创建外部函数创建或替换外部函数translate_en_de(输入字符串)返回字符串api_integration=外部_api_集成作为'https://gr8i78j7ei.execute-api.us-east-2.amazonaws.com/test/translate-en-de';以下是包含您信息的表格:--用英文发票创建表格创建或替换表invoices(invoice string);剩下的就是调用表上的外部函数!在下面的屏幕截图中,您可以看到对external函数的调用通过,将您的英语发票翻译为德语。要记住的限制目前在公共预览版中,外部函数需要通过awsapi网关实例,尽管该网关可以连接到任何HTTPS端点。我们计划扩展此功能以支持Microsoft Azure和Google云平台的API网关,请继续关注。从雪花中得到更多有兴趣尝试外部功能吗?看看这里的文档开始吧,让我们知道你想出了什么有趣的应用程序!就像你读的?通过喜欢和分享来表达你的感激之情!Facebook推特LinkedIn