是否可以使用Azure数据工厂或函数应用程序从.tar.gz中提取文件,以便由ADF中的ETL过程获取?
我尝试在函数应用程序中使用7zip,它可以很好地提取上传到函数应用程序本身的test.tar.gz文件,但在Blob容器中存储的文件中出现错误。
这是我在函数中的run.ps1中的命令
.7za.exe x 1.tar.gz
#下面,该文件是blob容器中的blob-不适用于
.7za.exe x $InputBlob
我收到的以上命令的错误
2020-09-11T16:06:42.721[错误]错误:程序"7za.exe"无法运行:只有重定向标准输出时才支持StandardOutputEncoding。在D:\home\site\wwwroot\tools\run.ps1:9 char:1+\7za.exe e$InputBlob+~~~~~~ ~~~~。异常:类型:System.Management.Automation.ApplicationFailedExceptionErrorRecord:异常:类型:System.Management.AAutomation.ParentContainsErrorRecordExceptionMessage:程序"7za.exe"无法运行:只有重定向标准输出时才支持StandardOutputEncoding。在D:\home\site\wwwroot\tools\run.ps1:9 char:1+\7za.exe e$InputBlob+~~~~~~ ~~~~。HResult:-2146230087类别信息:资源不可用:(:([],ParentContainsErrorRecordExceptionFullyQualifiedErrorId:NativeCommandFailedInvocationInfo:ScriptLineNumber:9OffsetInLine:1HistoryId:-1ScriptName:D:\home\site\wwwroot\tools\run.ps1Line:\7za.exe e$InputBlobPositionMessage:位于D:\home\site\wwwroot\tools\run。ps1:9 char:1+\7za.exe e$InputBlob+~~~~~~
不幸的是,Azure数据工厂中没有现成的功能来从TAR文件中提取内容。
这是一个现有的用户语音功能请求线程,我鼓励您对功能请求建议进行投票和/或评论,以提高功能实现的优先级。
https://feedback.azure.com/forums/270578-data-factory/suggestions/34575520-support-extracting-contents-from-tar-file
但作为一种变通方法,您可以尝试使用Azure Data Factory的可扩展性功能来转换不受支持的文件。两个选项包括Azure函数和使用Azure批处理的自定义任务(ADF中的自定义活动(。
您的问题已在Microsoft问答中得到回答;一个平台。