当传递给以下操作时,存储 Blob 连接器输出的二进制文件将采用什么格式?

What format will a binary file output from the Storage Blob Connector be in when passed to the following action?

在 Azure 应用服务逻辑应用程序中,我有一个 AzureStorageBlobConnector,它从存储中检索文件。该文件正在以二进制形式检索,并且没有设置任何 ContentTransferEncoding。我的连接器定义(订阅详细信息替换为 'x')如下所示:

"azurestorageblobconnector": {
            "type": "ApiApp",
            "inputs": {
                "apiVersion": "2015-01-14",
                "host": {
                    "id": "/subscriptions/x/providers/Microsoft.AppService/apiapps/azurestorageblobconnector",
                    "gateway": "https://x.azurewebsites.net"
                },
                "operation": "GetBlob",
                "parameters": {
                    "BlobPath": "@triggers().outputs.body.Properties['FilePath']",
                    "FileType": "Binary"
                },
                "authentication": {
                    "type": "Raw",
                    "scheme": "Zumo",
                    "parameter": "@parameters('/subscriptions/x/resourcegroups/x/providers/Microsoft.AppService/apiapps/azurestorageblobconnector/token')"
                }
            },
            "repeat": null,
            "conditions": []
        },

我想创建一个自定义 Api 连接器来接收此文件,对其进行一些更改,然后 return 它用于工作流程的下一步。

当存储 blob 连接器将文件作为 @body('azurestorageblobconnector').Content 传递给下一个连接器时,文件将采用什么形式?它是 HttpPostedFile 还是正文中的 Stream 或 Multipart 内容,还是其他内容?

这取决于您如何配置连接器,如果您选择 "Binary" 那么它将以 Base64 编码的字符串形式出现。 如果您选择文本,那么它将是 "the raw text".

一种处理方法是在您的 API 应用程序中尝试 Convert.FromBase64String,如果成功,那么您将获得一个包含实际字节的字节数组。如果不成功,那么您可以假设这是文件的原始文本内容。