WebJobs Extension: Allow binding to BlobContainerClient without blob #37124
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Contributing to the Azure SDK
resolves Azure/azure-functions-dotnet-worker#1337
For binding
BlobContainerClient
as an input binding, we are required to provide blob name in the result such asBlobInput("input-container/blob-name")
. We should be allowed to do this without providing the blob name, and currently we run into an error if you try to just put down the container name:Invalid blob path specified : 'input-container'. Blob identifiers must be in the format 'container/blob'
This PR loosens the parsing and validating checks by adding a new parameter to
BlobPath.ParseAndValidate
calledisParameterBindingData
. This value is only set to true if we are binding to a parameter binding data type and then skips some of the checks which caused this to fail initially.We have added a check in the dotnet worker to ensure that blob name cannot be null if we are not binding to a
BlobContainerClient
, which is the check we are skipping on the webjobs extension.