Невозможно подключиться к функции Azure «Неверный формат строки подключения. Значение не может быть нулевым. (Параметр «C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Невозможно подключиться к функции Azure «Неверный формат строки подключения. Значение не может быть нулевым. (Параметр «

Сообщение Гость »

Я новичок в функциях Azure и пишу программу для записи файла в учетную запись хранения Azure. Это мой
local.setting.json

Код: Выделить всё

{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"ConnectionString": "DefaultEndpointsProtocol=[http|https];AccountName=;AccountKey=;EndpointSuffix=core.windows.net"
}
}
FileUpload.cs

Код: Выделить всё

namespace FileUpload
{
public  class FileUpload
{
private readonly string _connectionString;

public  FileUpload(string connectionString)
{
_connectionString = connectionString;
}

[FunctionName("FileUpload")]
public  async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,
ILogger log)
{
try {
Console.WriteLine("Connection String", _connectionString);

string Connection = _connectionString;

string shareName = "my-share";
string dirName = req.Query["dirName"];

var files = req.Form.Files["File"];

ShareClient share = new(Connection, shareName);
ShareDirectoryClient directory = share.GetDirectoryClient(dirName);

if (!directory.Exists())
{
directory.Create();
}

ShareFileClient file = directory.GetFileClient(files.FileName);

using (Stream stream = files.OpenReadStream())
{
await file.CreateAsync(stream.Length);
await file.UploadAsync(stream);
}

string responseMessage = JsonConvert.SerializeObject("File uploaded successfully");

return new OkObjectResult(responseMessage);
}catch(Exception ex)
{
string responseMessage = JsonConvert.SerializeObject(ex);

return new BadRequestObjectResult(responseMessage);
}
}
}
}
а это
Startup.cs

Код: Выделить всё

[assembly: FunctionsStartup(typeof(FileUpload.Startup))]

namespace FileUpload
{
class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
string connectionString = Environment.GetEnvironmentVariable("ConnectionString");

FileUpload file = new(connectionString);

Console.WriteLine( "Connection String : "+ connectionString);

}
}
}
Я вижу, что он получает значение строки подключения, но не может подключиться к общему ресурсу Azure.
Он выдает

Код: Выделить всё

Microsoft.Extensions.Configuration.AzureAppConfiguration: Invalid connection string format.
Value cannot be null. (Parameter 'provider')
и когда я настраиваю код, он выдает

Код: Выделить всё

An unhandled host error has occurred.
Microsoft.Extensions.DependencyInjection.Abstractions: Unable to resolve service for type 'System.String' while attempting to activate 'FileUpload.FileUpload'
Мне здесь не хватает DI? если да, то как мне это правильно сделать?

Подробнее здесь: https://stackoverflow.com/questions/784 ... -value-can
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»