我想使用Java Azure Functions SDK:
最终结果应该从队列中读取PDF并将处理后的PDF发布到另一个队列。
是否有使用Java Azure Functions SDK从队列读取/写入二进制数据的示例?
对于测试,调试和其他用途,最好有:
通过帖子接受PDF的http触发器。如何用Java做到这一点? 目前还不清楚如何在http触发器中使用HttRequestMessage。
1.1。我可以在Http Trigger中使用零参数或可选参数吗?
1.2。使用HttpRequestMessage自己解析参数?
您可以使用HttpResponseMessage作为返回类型并设置返回码。 目前尚不清楚如何将mime类型的输出设置为application / pdf。
我尝试将有效的html作为字符串作为第一次尝试返回,但是返回并呈现为普通/文本。
原因是,使用触发器,您不必设置队列。
答案 0 :(得分:0)
根据您的需要,我的建议可分为以下几个步骤:
在HttpTrigger Azure功能中使用Azure Storage Queue 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。
步骤3:将二进制数据发送到队列中。
// 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 Function支持zero
或optional
个参数。
步骤4:您有两种配置input
和output
参数的方法:
<强> 1.Annotations 强>
public class Function {
public String echo(@HttpTrigger(name = "req", methods = {"post"}, authLevel = AuthorizationLevel.ANONYMOUS)
String req, ExecutionContext context) {
return String.format(req);
}
}
<强> 2.function.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"
}
]
}
您可以从here获取详细信息。
希望它对你有所帮助。