【问题标题】:Azure functions using Java - How to created @BlobTrigger使用 Java 的 Azure 函数 - 如何创建 @BlobTrigger
【发布时间】:2018-09-23 09:04:04
【问题描述】:

我需要使用 Java 创建 Azure 函数 BlobTrigger 来监视我的存储容器中是否有新的和更新的 blob。

用下面的代码试过

import java.util.*;
import com.microsoft.azure.serverless.functions.annotation.*;
import com.microsoft.azure.serverless.functions.*;
import java.nio.file.*;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import com.microsoft.azure.storage.*;
import com.microsoft.azure.storage.blob.*;

@FunctionName("testblobtrigger")
 public String testblobtrigger(@BlobTrigger(name = "test", path = "testcontainer/{name}") String content) {
     try {
         return String.format("Blob content : %s!", content);

     } catch (Exception e) {
         // Output the stack trace.
         e.printStackTrace();
         return "Access Error!";
     }
 }

执行时显示错误

存储绑定(blob/queue/table)必须有非空连接。在方法上发现无效的存储绑定:

添加连接字符串时它正在工作

public String kafkablobtrigger(@BlobTrigger(name = "test", path = "testjavablobstorage/{name}",connection=storageConnectionString) String content) {

为什么在使用 blobtrigger 时需要添加连接字符串?

在 C# 中它在没有连接字符串的情况下工作:

public static void ProcessBlobContainer1([BlobTrigger("container1/{blobName}")] CloudBlockBlob blob, string blobName)
{
    ProcessBlob("container1", blobName, blob);
}

我没有看到任何用于 @BlobTrigger 的 Azure 函数的 Java 示例。

【问题讨论】:

  • C# 回退到默认配置名称。也许java没有?添加连接字符串有什么问题?

标签: java azure azure-functions azure-cli


【解决方案1】:

毕竟connection是触发器识别容器所在位置所必需的。

经过测试,我发现@Mikhail 是对的。 对于 C#,如果 connection 被忽略,则将使用默认值(在 local.settings.json 中或门户中的应用程序设置中)。但不幸的是,java 没有相同的设置。

您可以在@FuncionName 下方添加@StorageAccount("YourStorageConnection"),因为这是另一种有效的选择方式。而 local.settings.json 或门户应用程序设置中 YourStorageConnection 的值取决于您。

您可以关注this tutorial,使用mvn azure-functions:add查找java的四个(Http/Blob/Queue/TimerTrigger)模板。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-07
    • 2017-09-06
    • 2020-01-08
    • 2019-08-12
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    相关资源
    最近更新 更多