gpt4 book ai didi

java - 使用 Java 的 Azure 函数 - 如何创建 @BlobTrigger

转载 作者:行者123 更新时间:2023-12-03 04:20:14 25 4
gpt4 key购买 nike

我需要使用 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!";
}
}

执行时显示错误

Storage binding (blob/queue/table) must have non-empty connection. Invalid storage binding found on method:

添加连接字符串后即可工作

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 示例。

最佳答案

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

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

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

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

关于java - 使用 Java 的 Azure 函数 - 如何创建 @BlobTrigger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49809615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com