如何在@BlobOutput中动态定义'path'?



我正在https://github.com/azure/azure-functions-java-worker

查看以下代码示例
public class MyClass {
    @FunctionName("copy")
    @StorageAccount("AzureWebJobsStorage")
    @BlobOutput(name = "$return", path = "samples-output-java/{name}")
    public static String copy(@BlobTrigger(name = "blob", path = "samples-input-java/{name}") String content) {
        return content;
    }
}

@BlobOutput中,我们使用的是{name}参数,因为它是在@BlobInput中提供给我们的。我如何在功能中动态生成该名称?

我希望我的斑点名称为 files/E36567AB1B93F7D9798,其中 E36567AB1B93F7D9798零件是从斑点含量生成的哈希。我想在功能中生成它,然后返回哈希作为输出。有点像github创建了用于文件的独特ID。

如果您只想定义BLOB名称的唯一且动态的值,我建议您使用{rand-guid}。这是文档。

@BlobOutput(name = "$return", path = "samples-output-java/files/{rand-guid}")

您将在虚拟目录files中获得一个像85546257-97f8-43ea-961e-a8bbe70e009d的斑点。

如果您必须使用文件内容的哈希值,因为现在不支持在绑定中执行此操作,则可以在函数内使用Azure Storage SDK来指定BLOB名称。

这是github上的相关问题供您参考。

相关内容

  • 没有找到相关文章

最新更新