当前位置: 首页 > 知识库问答 >
问题:

使用Java Azure函数SDK处理二进制数据

曹鹏海
2023-03-14

我想使用Java Azure Functions SDK来:

  1. 接受PDF作为输入
  2. 处理PDF(使用pdfbox库)。
  3. 返回更改的PDF。

最终结果应该从队列中读取PDF,并将处理后的PDF发布到另一个队列。

是否有使用JavaAzure Functions SDK从队列读取/写入二进制数据的示例?

对于测试、调试和其他用途,最好有:

>

  • 通过post接受PDF的超文本传输协议触发器。如何在Java做到这一点?目前还不清楚如何在超文本传输协议触发器中使用HttquiestMessage。

    1.1. 我可以在Http触发器中使用零参数或可选参数吗?

    1.2.解析参数自己使用Http刚需消息?

    您可以使用Http响应消息作为返回类型并设置返回代码。不清楚如何将mime类型的输出设置为应用程序/pdf。

    我第一次尝试将有效的html作为字符串返回,但返回并呈现为纯文本。

    原因是,使用触发器时,不必设置队列。

  • 共有1个答案

    桂高昂
    2023-03-14

    根据您的需要,我的建议可分为以下几个步骤:

    在HttpTrigger Azure函数中使用Azure存储队列Java sdk。

    步骤1:从队列接收二进制数据。

       // Setup the cloud storage account.
       CloudStorageAccount account = CloudStorageAccount.parse(storageConnectionString);
    
       // Create a queue service client
       CloudQueueClient queueClient = account.createCloudQueueClient();
    
       // Retrieve a reference to a queue
       // Append a random UUID to the end of the queue name so that this
    
       // sample can be run more than once in quick succession.
       CloudQueue queue = queueClient.getQueueReference("test");
    
      // Retrieve the first visible message in the queue
        CloudQueueMessage retrieveMessage = queue.retrieveMessage();
    

    第2步:使用pdfbox库来处理pdf文件。

    第三步:将二进制数据发送到队列中。

        // Setup the cloud storage account.
        CloudStorageAccount account = CloudStorageAccount.parse(storageConnectionString);
    
       // Create a queue service client
       CloudQueueClient queueClient = account.createCloudQueueClient();
    
       // Retrieve a reference to a queue
       // Append a random UUID to the end of the queue name so that this
    
       // sample can be run more than once in quick succession.
       CloudQueue queue = queueClient.getQueueReference("test");
    
       // Create messages and add it to the queue
       CloudQueueMessage message1 = new CloudQueueMessage("your pdf data");
                    queue.addMessage(message1);
    

    配置HttpTrigger Azure函数的输入和输出。

    当然,Azure函数支持可选参数。

    步骤4:关于配置输入输出参数,有两种方法:

    1.注释

    public class Function {
        public String echo(@HttpTrigger(name = "req", methods = {"post"},  authLevel = AuthorizationLevel.ANONYMOUS) 
            String req, ExecutionContext context) {
            return String.format(req);
        }
    }
    

    2.功能。json

    {
      "scriptFile": "azure-functions-example.jar",
      "entryPoint": "com.example.MyClass.echo",
      "bindings": [
        {
          "type": "httpTrigger",
          "name": "req",
          "direction": "in",
          "authLevel": "anonymous",
          "methods": [ "post" ]
        },
        {
          "type": "http",
          "name": "$return",
          "direction": "out"
        }
      ]
    }
    

    你可以从这里得到细节。

    希望对你有帮助。

     类似资料:
    • 关于函数使用,与带来的问题。 函数 函数主要给数据提供处理与转换方便。 大多数SQL实现的函数 用于处理文本串(删除,充值,大小写转换) 用于在数值的数据上进行算术(返回绝对值,代数运算)操作。 用于处理日期时间值并从这些值中提取特定成份。 返回DBMS正使用的特殊信息(用户登录信息)。 文本处理函数 使用UPPER()函数来转换大小写。 mysql> SELECT vend_name, UPPE

    • 原文: http://exploringjs.com/impatient-js/ch_typed-arrays.html 29.1。 API 的基础知识 Web 上的大量数据是文本:JSON 文件,HTML 文件,CSS 文件,JavaScript 代码等.JavaScript 通过其内置字符串很好地处理这些数据。 但是,在 2011 年之前,它没有很好地处理二进制数据。 2011 年 2 月 8

    • 问题内容: 我正在使用python shell来解决print命令在python中的工作方式。 当我输入 打印01 1 打印010 8 打印0100 64 打印030 24 这里发生了什么?只是基数2?为什么第二个位置的“一个”打印为8?如果不是二进制,应该不是2吗? 问题答案: 以0开头的数字在Python 2中将其标记为八进制。这被认为是令人困惑,令人惊讶且不一致的,因为以0x开头会将其标记为

    • 主要内容:二进制数、八进制数和十六进制数的表示,二进制数、八进制数和十六进制数的输出C语言中的整数除了可以使用十进制,还可以使用二进制、八进制和十六进制。 二进制数、八进制数和十六进制数的表示 一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用某种特殊的写法,具体来说,就是在数字前面加上特定的字符,也就是加前缀。 1) 二进制 二进制由 0 和 1 两个数字组成,使用时必须以

    • 本文向大家介绍Python使用struct处理二进制(pack和unpack用法),包括了Python使用struct处理二进制(pack和unpack用法)的使用技巧和注意事项,需要的朋友参考一下 有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体. struct模块中最重

    • 问题内容: 有谁知道如何在Java中添加两个以二进制形式输入的二进制数字? 例如,。 问题答案: 使用。