hor*_*ius 2 c# azure azure-storage-blobs azure-functions
这是我的函数代码。
#r "Microsoft.WindowsAzure.Storage.Blob"
public static async Task Run(CloudBlockBlob uploadedVideo, string name, CloudBlockBlob processedVideo, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {uploadedVideo.Length} Bytes");
var fileEntry = new
{
fileName = $"uploaded-videos/{name}",
fileType = "video",
correlationId = Guid.NewGuid()
};
await processedVideo.StartCopyAsync(uploadedVideo);
await uploadedVideo.DeleteIfExistsAsync();
}
Run Code Online (Sandbox Code Playgroud)
这是我的 function.json
{
"bindings": [
{
"name": "uploadedVideo",
"type": "blobTrigger",
"direction": "in",
"path": "uploaded-videos/{name}",
"connection": "AzureWebJobsStorage"
},
{
"type": "blob",
"name": "processedVideo",
"path": "processed-videos/{name}-{rand-guid}",
"connection": "AzureWebJobsStorage",
"direction": "out"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是我运行此函数时不断抛出的错误。
2018-09-25T07:34:10.813 [错误] 函数编译错误 2018-09-25T07:34:10.982 [错误] BlobTriggerCSharp.csx(2,1):错误 CS0006:元数据文件“Microsoft.WindowsAzure.Storage.Blob”无法找到 2018-09-25T07:34:11.040 [Error] BlobTriggerCSharp.csx(4,30): error CS0246: The type or namespace name 'CloudBlockBlob' could not be found(您是否缺少 using 指令或程序集参考?)2018-09-25T07:34:11.128 [错误] BlobTriggerCSharp.csx(4,73):错误 CS0246:找不到类型或命名空间名称“CloudBlockBlob”(您是否缺少 using 指令或程序集引用?)
没有Microsoft.WindowsAzure.Storage.Blob程序集,它是包含在Microsoft.WindowsAzure.Storage. 程序集和命名空间应如下使用。
#r "Microsoft.WindowsAzure.Storage"
using Microsoft.WindowsAzure.Storage.Blob;
Run Code Online (Sandbox Code Playgroud)
并且CloudBlockBlob不能直接获取Length属性,我们必须先获取blob属性。
await uploadedVideo.FetchAttributesAsync();
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {uploadedVideo.Properties.Length} Bytes");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2361 次 |
| 最近记录: |