Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过在Azure函数上使用输出blob绑定来简化_C#_Azure_Azure Functions_Azure Blob Storage - Fatal编程技术网

C# 通过在Azure函数上使用输出blob绑定来简化

C# 通过在Azure函数上使用输出blob绑定来简化,c#,azure,azure-functions,azure-blob-storage,C#,Azure,Azure Functions,Azure Blob Storage,我正在使用httppost触发一个Azure函数,并希望将请求正文保存到Blob。根据文档,使用输出Blob存储绑定,这应该是相对直接的。然而,我无法让它工作。当我检查自动生成的function.json时,我注意到没有为输出创建绑定 下面的函数正在工作,但是我想知道关于Blob输出绑定我缺少什么。如何将其更改为使用Blob输出绑定 公共静态类saveSubcent { [FunctionName(“SaveSubcent”)] 公共静态结果运行( [HttpTrigger(Authorizat

我正在使用
httppost
触发一个
Azure函数
,并希望将请求正文保存到
Blob
。根据文档,使用输出
Blob
存储绑定,这应该是相对直接的。然而,我无法让它工作。当我检查自动生成的
function.json
时,我注意到没有为输出创建绑定

下面的函数正在工作,但是我想知道关于
Blob
输出绑定我缺少什么。如何将其更改为使用Blob输出绑定

公共静态类saveSubcent
{
[FunctionName(“SaveSubcent”)]
公共静态结果运行(
[HttpTrigger(AuthorizationLevel.Anonymous,“post”,Route=null)]HttpRequest请求,
ILogger日志,ExecutionContext上下文
)
{
var config=new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile(“local.settings.json”,可选:true,重载更改:true)
.AddenEnvironmentVariables()
.Build();
var connectionString=config[“AzureWebJobsStorage”];
字符串containerName=“法国msgs”;
字符串blobName=Guid.NewGuid().ToString()+“.json”;
BlobContainerClient容器=新的BlobContainerClient(connectionString,containerName);
container.CreateIfNotExists();
BlobClient blob=container.GetBlobClient(blobName);
blob.Upload(请求主体);
登录信息(“已完成上传:+blobName”);
返回新的OkObjectResult(“”);
}
}

您可以将输出绑定与{rand guid}特殊绑定表达式结合使用,大大简化这一过程。{rand guid}将为您生成一个guid作为绑定的一部分,因此您不必在代码中这样做

public static class Function1
{
    [FunctionName("Function1")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
        [Blob("france-msgs/{rand-guid}.json", FileAccess.ReadWrite, Connection = "AzureWebJobsStorage")] CloudBlockBlob outputBlob,
        ILogger log)
    {
        string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
        await outputBlob.UploadTextAsync(requestBody);

        return new OkObjectResult("");
    }
}
公共静态类函数1
{
[功能名称(“功能1”)]
公共静态异步任务运行(
[HttpTrigger(AuthorizationLevel.Anonymous,“get”,“post”,Route=null)]HttpRequest请求,
[Blob(“france msgs/{rand guid}.json”,FileAccess.ReadWrite,Connection=“azurewebjobstorage”)]CloudBlockBlob outputBlob,
ILogger日志)
{
string requestBody=等待新的StreamReader(req.Body).ReadToEndAsync();
等待outputBlob.UploadTextAsync(requestBody);
返回新的OkObjectResult(“”);
}
}

非常感谢!我感觉有一部分文档丢失了,{rand guid}部分帮助我做到了这一点:绑定表达式现在变得更有意义了