Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug when using a secrets.json local file with BlobTrigger #2469

Closed
neothoms opened this issue Apr 4, 2024 · 5 comments
Closed

Bug when using a secrets.json local file with BlobTrigger #2469

neothoms opened this issue Apr 4, 2024 · 5 comments

Comments

@neothoms
Copy link

neothoms commented Apr 4, 2024

When using a connectionString for the BlobTrigger in secrets.json local file there is an issue when the event is triggered.

The Function correctly connects to the events of my blobstorage.
When I create a file to the container, I can see that the trigger is invoked on the func console but the Function is not correctly called since the ConnectionString is not found.

[2024-04-04T14:25:27.949Z] Executing 'Functions.BlobTrigger' (Reason='New blob detected(LogsAndContainerScan): samples-workitems/Delete_Site-recovery-vault-westeurope.ps1', Id=8d2d95e0-79f2-434b-ac20-b293520d6175) [2024-04-04T14:25:27.953Z] Trigger Details: MessageId: 831f7d81-5bb1-4044-9630-b0236d860eca, DequeueCount: 2, InsertedOn: 2024-04-04T14:23:20.000+00:00, BlobCreated: 2024-04-04T14:22:57.000+00:00, BlobLastModified: 2024-04-04T14:23:19.000+00:00 [2024-04-04T14:25:29.823Z] Worker process started and initialized. [2024-04-04T14:25:30.230Z] Function 'BlobTrigger', Invocation id '8d2d95e0-79f2-434b-ac20-b293520d6175': An exception was thrown by the invocation. [2024-04-04T14:25:30.232Z] Result: Function 'BlobTrigger', Invocation id '8d2d95e0-79f2-434b-ac20-b293520d6175': An exception was thrown by the invocation. Exception: Microsoft.Azure.Functions.Worker.FunctionInputConverterException: Error converting 1 input parameters for Function 'BlobTrigger': Cannot convert input parameter 'stream' to type 'System.IO.Stream' from type 'Microsoft.Azure.Functions.Worker.Grpc.Messages.GrpcModelBindingData'. Error:System.InvalidOperationException: Blob storage connection configuration 'ConnString_BlobInput' does not exist. Make sure that it is a defined App Setting. [2024-04-04T14:25:30.234Z] at Microsoft.Azure.Functions.Worker.BlobStorageBindingOptionsSetup.Configure(String name, BlobStorageBindingOptions options) in D:\a\_work\1\s\extensions\Worker.Extensions.Storage.Blobs\src\Config\BlobStorageBindingOptionsSetup.cs:line 44 [2024-04-04T14:25:30.236Z] at Microsoft.Extensions.Options.OptionsFactory1.Create(String name)
[2024-04-04T14:25:30.238Z] at Microsoft.Extensions.Options.OptionsMonitor1.<>c.<Get>b__10_0(String name, IOptionsFactory1 factory)
[2024-04-04T14:25:30.240Z] at Microsoft.Extensions.Options.OptionsCache1.<>c__DisplayClass3_11.b__2()
[2024-04-04T14:25:30.241Z] at System.Lazy1.ViaFactory(LazyThreadSafetyMode mode) [2024-04-04T14:25:30.243Z] at System.Lazy1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
[2024-04-04T14:25:30.245Z] at System.Lazy1.CreateValue() [2024-04-04T14:25:30.246Z] at Microsoft.Extensions.Options.OptionsCache1.GetOrAdd[TArg](String name, Func3 createOptions, TArg factoryArgument) [2024-04-04T14:25:30.248Z] at Microsoft.Extensions.Options.OptionsMonitor1.Get(String name)
[2024-04-04T14:25:30.250Z] at Microsoft.Azure.Functions.Worker.BlobStorageConverter.CreateBlobContainerClient(String connectionName, String containerName) in D:\a_work\1\s\extensions\Worker.Extensions.Storage.Blobs\src\BlobStorageConverter.cs:line 253
[2024-04-04T14:25:30.251Z] at Microsoft.Azure.Functions.Worker.BlobStorageConverter.ConvertModelBindingDataAsync(Type targetType, BlobBindingData blobData) in D:\a_work\1\s\extensions\Worker.Extensions.Storage.Blobs\src\BlobStorageConverter.cs:line 118
[2024-04-04T14:25:30.254Z] at Microsoft.Azure.Functions.Worker.BlobStorageConverter.ConvertFromBindingDataAsync(ConverterContext context, ModelBindingData modelBindingData) in D:\a_work\1\s\extensions\Worker.Extensions.Storage.Blobs\src\BlobStorageConverter.cs:line 63
[2024-04-04T14:25:30.256Z] at Microsoft.Azure.Functions.Worker.Context.Features.DefaultFunctionInputBindingFeature.BindFunctionInputAsync(FunctionContext context) in D:\a_work\1\s\src\DotNetWorker.Core\Context\Features\DefaultFunctionInputBindingFeature.cs:line 105
[2024-04-04T14:25:30.259Z] at Microsoft.Azure.Functions.Worker.Invocation.DefaultFunctionExecutor.ExecuteAsync(FunctionContext context) in D:\a_work\1\s\src\DotNetWorker.Core\Invocation\DefaultFunctionExecutor.cs:line 42
[2024-04-04T14:25:30.261Z] at Microsoft.Azure.Functions.Worker.OutputBindings.OutputBindingsMiddleware.Invoke(FunctionContext context, FunctionExecutionDelegate next) in D:\a_work\1\s\src\DotNetWorker.Core\OutputBindings\OutputBindingsMiddleware.cs:line 13
[2024-04-04T14:25:30.263Z] at Microsoft.Azure.Functions.Worker.FunctionsApplication.InvokeFunctionAsync(FunctionContext context) in D:\a_work\1\s\src\DotNetWorker.Core\FunctionsApplication.cs:line 77
Stack: at Microsoft.Azure.Functions.Worker.Context.Features.DefaultFunctionInputBindingFeature.BindFunctionInputAsync(FunctionContext context) in D:\a_work\1\s\src\DotNetWorker.Core\Context\Features\DefaultFunctionInputBindingFeature.cs:line 105
[2024-04-04T14:25:30.265Z] at Microsoft.Azure.Functions.Worker.Invocation.DefaultFunctionExecutor.ExecuteAsync(FunctionContext context) in D:\a_work\1\s\src\DotNetWorker.Core\Invocation\DefaultFunctionExecutor.cs:line 42
[2024-04-04T14:25:30.267Z] at Microsoft.Azure.Functions.Worker.OutputBindings.OutputBindingsMiddleware.Invoke(FunctionContext context, FunctionExecutionDelegate next) in D:\a_work\1\s\src\DotNetWorker.Core\OutputBindings\OutputBindingsMiddleware.cs:line 13
[2024-04-04T14:25:30.269Z] at Microsoft.Azure.Functions.Worker.FunctionsApplication.InvokeFunctionAsync(FunctionContext context) in D:\a_work\1\s\src\DotNetWorker.Core\FunctionsApplication.cs:line 77.
[2024-04-04T14:25:30.275Z] Executed 'Functions.BlobTrigger' (Failed, Id=8d2d95e0-79f2-434b-ac20-b293520d6175, Duration=2380ms)
[2024-04-04T14:25:30.277Z] System.Private.CoreLib: Exception while executing function: Functions.BlobTrigger. System.Private.CoreLib: Result: Failure
Exception: Microsoft.Azure.Functions.Worker.FunctionInputConverterException: Error converting 1 input parameters for Function 'BlobTrigger': Cannot convert input parameter 'stream' to type 'System.IO.Stream' from type 'Microsoft.Azure.Functions.Worker.Grpc.Messages.GrpcModelBindingData'. Error:System.InvalidOperationException: Blob storage connection configuration 'ConnString_BlobInput' does not exist. Make sure that it is a defined App Setting.
[2024-04-04T14:25:30.279Z] at Microsoft.Azure.Functions.Worker.BlobStorageBindingOptionsSetup.Configure(String name, BlobStorageBindingOptions options) in D:\a_work\1\s\extensions\Worker.Extensions.Storage.Blobs\src\Config\BlobStorageBindingOptionsSetup.cs:line 44
[2024-04-04T14:25:30.281Z] at Microsoft.Extensions.Options.OptionsFactory1.Create(String name) [2024-04-04T14:25:30.282Z] at Microsoft.Extensions.Options.OptionsMonitor1.<>c.b__10_0(String name, IOptionsFactory1 factory) [2024-04-04T14:25:30.284Z] at Microsoft.Extensions.Options.OptionsCache1.<>c__DisplayClass3_11.<GetOrAdd>b__2() [2024-04-04T14:25:30.286Z] at System.Lazy1.ViaFactory(LazyThreadSafetyMode mode)
[2024-04-04T14:25:30.287Z] at System.Lazy1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor) [2024-04-04T14:25:30.289Z] at System.Lazy1.CreateValue()
[2024-04-04T14:25:30.290Z] at Microsoft.Extensions.Options.OptionsCache1.GetOrAdd[TArg](String name, Func3 createOptions, TArg factoryArgument)
[2024-04-04T14:25:30.292Z] at Microsoft.Extensions.Options.OptionsMonitor1.Get(String name) [2024-04-04T14:25:30.293Z] at Microsoft.Azure.Functions.Worker.BlobStorageConverter.CreateBlobContainerClient(String connectionName, String containerName) in D:\a\_work\1\s\extensions\Worker.Extensions.Storage.Blobs\src\BlobStorageConverter.cs:line 253 [2024-04-04T14:25:30.295Z] at Microsoft.Azure.Functions.Worker.BlobStorageConverter.ConvertModelBindingDataAsync(Type targetType, BlobBindingData blobData) in D:\a\_work\1\s\extensions\Worker.Extensions.Storage.Blobs\src\BlobStorageConverter.cs:line 118 [2024-04-04T14:25:30.296Z] at Microsoft.Azure.Functions.Worker.BlobStorageConverter.ConvertFromBindingDataAsync(ConverterContext context, ModelBindingData modelBindingData) in D:\a\_work\1\s\extensions\Worker.Extensions.Storage.Blobs\src\BlobStorageConverter.cs:line 63 [2024-04-04T14:25:30.298Z] at Microsoft.Azure.Functions.Worker.Context.Features.DefaultFunctionInputBindingFeature.BindFunctionInputAsync(FunctionContext context) in D:\a\_work\1\s\src\DotNetWorker.Core\Context\Features\DefaultFunctionInputBindingFeature.cs:line 105 [2024-04-04T14:25:30.299Z] at Microsoft.Azure.Functions.Worker.Invocation.DefaultFunctionExecutor.ExecuteAsync(FunctionContext context) in D:\a\_work\1\s\src\DotNetWorker.Core\Invocation\DefaultFunctionExecutor.cs:line 42 [2024-04-04T14:25:30.301Z] at Microsoft.Azure.Functions.Worker.OutputBindings.OutputBindingsMiddleware.Invoke(FunctionContext context, FunctionExecutionDelegate next) in D:\a\_work\1\s\src\DotNetWorker.Core\OutputBindings\OutputBindingsMiddleware.cs:line 13 [2024-04-04T14:25:30.303Z] at Microsoft.Azure.Functions.Worker.FunctionsApplication.InvokeFunctionAsync(FunctionContext context) in D:\a\_work\1\s\src\DotNetWorker.Core\FunctionsApplication.cs:line 77 [2024-04-04T14:25:30.305Z] at Microsoft.Azure.Functions.Worker.Handlers.InvocationHandler.InvokeAsync(InvocationRequest request) in D:\a\_work\1\s\src\DotNetWorker.Grpc\Handlers\InvocationHandler.cs:line 88 Stack: at Microsoft.Azure.Functions.Worker.Context.Features.DefaultFunctionInputBindingFeature.BindFunctionInputAsync(FunctionContext context) in D:\a\_work\1\s\src\DotNetWorker.Core\Context\Features\DefaultFunctionInputBindingFeature.cs:line 105 [2024-04-04T14:25:30.306Z] at Microsoft.Azure.Functions.Worker.Invocation.DefaultFunctionExecutor.ExecuteAsync(FunctionContext context) in D:\a\_work\1\s\src\DotNetWorker.Core\Invocation\DefaultFunctionExecutor.cs:line 42 [2024-04-04T14:25:30.308Z] at Microsoft.Azure.Functions.Worker.OutputBindings.OutputBindingsMiddleware.Invoke(FunctionContext context, FunctionExecutionDelegate next) in D:\a\_work\1\s\src\DotNetWorker.Core\OutputBindings\OutputBindingsMiddleware.cs:line 13 [2024-04-04T14:25:30.310Z] at Microsoft.Azure.Functions.Worker.FunctionsApplication.InvokeFunctionAsync(FunctionContext context) in D:\a\_work\1\s\src\DotNetWorker.Core\FunctionsApplication.cs:line 77 [2024-04-04T14:25:30.311Z] at Microsoft.Azure.Functions.Worker.Handlers.InvocationHandler.InvokeAsync(InvocationRequest request) in D:\a\_work\1\s\src\DotNetWorker.Grpc\Handlers\InvocationHandler.cs:line 88.

Now if I set the connection string in the local.settings.json instead of the secrets.json, the function will work without any issue.

There is something that prevents the triggered function to access the secrets.json file.

Reproduction of the issue.
Create an azure function in visual studio.
Add a BlobTrigger function to that function using the wizard to create the connection string to a storage account

image

This will create the function and add a secrets.json file in your user folder %APPDATA%\Microsoft\UserSecrets\

Execute the function and add file to the container. This will recreate the issue

@neothoms neothoms added the bug label Apr 4, 2024
@bhagyshricompany bhagyshricompany self-assigned this Apr 8, 2024
@bhagyshricompany
Copy link

bhagyshricompany commented Apr 8, 2024

Thanks fore reporting please share the all repro step will check and update you

@neothoms
Copy link
Author

All the repro steps :

Create a new project Azure Function .net in Visual Studio with no methods
image

Add a function to the VS project
Create a function Blob Trigger as the screenshot shows it with connection string.
image

Choose to connect to an azure storage directly
image

Select an existing azure storage from one of your subscriptions
image

Choose the following config
image

Visual studio should store the connection string on a secrets.json file in your Local user folder and add some nugget packages.

Then you should reproduce the bug

@bhagyshricompany
Copy link

ok Thanks for update.

@bhagyshricompany
Copy link

bhagyshricompany commented May 21, 2024

can you try again the same?if not open the issue on azure portal.

@bhagyshricompany
Copy link

No reply hence closing if have issue pls open .Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants