我正在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上的相关问题供您参考。