Azure 逻辑应用程序 SFTP 复制文件操作因某些 SAS Urls 而中断
Azure logic apps SFTP Copy File action breaks with some SAS Urls
我遇到了逻辑应用程序的问题
使用按路径创建 SAS URI
为存储帐户
中的 blob 获取支持 SAS 的操作 URL
使用了SFTP拷贝
将文件复制到 SFTP 连接器的文件操作
当尝试从存储中获取 blob 时,该过程大约有 50% 的时间会因授权错误而失败。
"actions": {
"Create_SAS_URI_by_path": {
"inputs": {
"body": {
"Permissions": "Read"
},
"host": {
"connection": {
"name": "@parameters('$connections')['azureblob']['connectionId']"
}
},
"method": "post",
"path": "/datasets/default/CreateSharedLinkByPath",
"queries": {
"path": "/container-name/SomeSourceFile.csv"
}
},
"runAfter": {},
"type": "ApiConnection"
},
"Copy_file": {
"inputs": {
"host": {
"connection": {
"name": "@parameters('$connections')['sftp']['connectionId']"
}
},
"method": "post",
"path": "/datasets/default/copyFile",
"queries": {
"destination": "testing-if-works.csv",
"overwrite": true,
"source": "@{body('Create_SAS_URI_by_path')?['WebUrl']}"
}
},
"runAfter": {
"Create_SAS_URI_by_path": [
"Succeeded"
]
},
"type": "ApiConnection"
}
}
SFTP 连接器有一个错误,如果 SAS Url 在签名中有加号 (%2B),SFTP 连接器会导致失败,这可能是由于连接器代码处理 URL当它试图通过 Url 获取 blob 时。解决方法是对加号进行双重编码:
"source": "@{replace(body('Create_SAS_URI_by_path')?['WebUrl'], '%2B', '%252B')}"
我会向 Microsoft 报告此问题,但找不到连接器的 Github 存储库。希望这对以后的其他人有所帮助。
此错误已在 SFTP 连接器中修复。要使其正常工作,请使用适当的操作创建一个新的逻辑应用。
我遇到了逻辑应用程序的问题
使用按路径创建 SAS URI 为存储帐户
中的 blob 获取支持 SAS 的操作 URL
使用了SFTP拷贝 将文件复制到 SFTP 连接器的文件操作
当尝试从存储中获取 blob 时,该过程大约有 50% 的时间会因授权错误而失败。
"actions": {
"Create_SAS_URI_by_path": {
"inputs": {
"body": {
"Permissions": "Read"
},
"host": {
"connection": {
"name": "@parameters('$connections')['azureblob']['connectionId']"
}
},
"method": "post",
"path": "/datasets/default/CreateSharedLinkByPath",
"queries": {
"path": "/container-name/SomeSourceFile.csv"
}
},
"runAfter": {},
"type": "ApiConnection"
},
"Copy_file": {
"inputs": {
"host": {
"connection": {
"name": "@parameters('$connections')['sftp']['connectionId']"
}
},
"method": "post",
"path": "/datasets/default/copyFile",
"queries": {
"destination": "testing-if-works.csv",
"overwrite": true,
"source": "@{body('Create_SAS_URI_by_path')?['WebUrl']}"
}
},
"runAfter": {
"Create_SAS_URI_by_path": [
"Succeeded"
]
},
"type": "ApiConnection"
}
}
SFTP 连接器有一个错误,如果 SAS Url 在签名中有加号 (%2B),SFTP 连接器会导致失败,这可能是由于连接器代码处理 URL当它试图通过 Url 获取 blob 时。解决方法是对加号进行双重编码:
"source": "@{replace(body('Create_SAS_URI_by_path')?['WebUrl'], '%2B', '%252B')}"
我会向 Microsoft 报告此问题,但找不到连接器的 Github 存储库。希望这对以后的其他人有所帮助。
此错误已在 SFTP 连接器中修复。要使其正常工作,请使用适当的操作创建一个新的逻辑应用。