Skip to content

Table converter#1506

Merged
aishwaryabh merged 123 commits intofeature/sdk-type-bindingfrom
aibhandari/table-converter-legit
May 25, 2023
Merged

Table converter#1506
aishwaryabh merged 123 commits intofeature/sdk-type-bindingfrom
aibhandari/table-converter-legit

Conversation

@aishwaryabh
Copy link
Copy Markdown
Contributor

@aishwaryabh aishwaryabh commented May 3, 2023

Issue describing the changes in this PR

Creating a table converter to enable binding to the TableClient, TableEntity and IEnumerable<TableEntity> types so that we have parity with in-proc.
resolves #1474

Pull request checklist

  • My changes do not require documentation changes
    • Otherwise: Documentation issue linked to PR
  • My changes should not be added to the release notes for the next release
    • Otherwise: I've added my notes to release_notes.md
  • My changes do not need to be backported to a previous version
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • I have added all required tests (Unit tests, E2E tests)

Additional information

Additional PR information

Comment thread extensions/Worker.Extensions.Tables/src/Config/TablesBindingOptions.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/TableConverter.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/TableConverter.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/TableConverter.cs Outdated
Comment thread samples/WorkerBindingSamples/WorkerBindingSamples.csproj Outdated
Comment thread test/E2ETests/E2ETests/Helpers/TableHelpers.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/TableConverter.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/TableConverter.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/TableConverter.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/Config/TablesBindingOptions.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/TypeConverters/TableClientConverter.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/TypeConverters/TableConverterBase.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/TypeConverters/TableConverterBase.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/TypeConverters/TableConverterBase.cs Outdated
Comment thread extensions/Worker.Extensions.Tables/src/TypeConverters/TableData.cs Outdated
Copy link
Copy Markdown
Contributor

@jviau jviau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Meant to approve my last review - all my comments are non-blocking.

Comment thread extensions/Worker.Extensions.Tables/src/TypeConverters/TableConverterBase.cs Outdated
Copy link
Copy Markdown
Member

@liliankasem liliankasem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just one more comment about the use and creation of TableData then ready to sign off

@aishwaryabh aishwaryabh merged commit db4ad52 into feature/sdk-type-binding May 25, 2023
@aishwaryabh aishwaryabh deleted the aibhandari/table-converter-legit branch May 25, 2023 21:35
liliankasem added a commit that referenced this pull request Jun 21, 2023
* Add E2E tests for blob SDK type bindings (#1360)

* Add analyzer for SupportsDeferredBindingAttribute (#1367)

* Update SupportsDeferredBinding diagnostic code & update docs (#1377)

* Revert "Remove types, tests & logic related to the SDK-binding feature (#1374)"

This reverts commit eac5b19.

* Added unit tests for BlobStorageConverter (#1370)

* Adding test project
* Added tests

* Initial changes

* Updating metadata

* Adding a test

* Code refactoring

* Cosmos DB converter for SDK-type support and samples (#1406)

* Execution flow added

* Update pipeline variables to include tags (#1427)

* Update extension variables to not use build number with tags (#1429)

* Execution flow

* cleanup

* Cleanup

* Cleanup

* Cleanup execution flow

* Added test

* Adding tests

* code cleanup

* Code cleanup

* code refactor

* Added logic to check type before sending to converter

* Updated tests

* Removing advertised converters from options

* Adding options back

* Changes to check type

* updating type check logic

* correction in metadata generation

* code cleanup

* Test cleanup

* Added changes to support poco

* Metadata generation changes

* Changes on Invocation side

* correcting type check and tests

* Test for poco invocation support

* Added tests for poco invocation flows

* Metadata generator minor update

* Grpc definition update

* Added poco and poco collection check

* cleanup metadata generation

* Adding support for type collection

* code cleanup

* Fixing metadata gen

* Test fix

* Grpc definition fix

* Removing BlobContainerClient advertisement

* Readding containerclient

* Updated metadata generator

* Changes as per latest design

* code cleanup

* updatin tests input

* code cleanup

* Cleanup Metadata generation

* correcting converters fallback logic

* Removing converter advertisement on cosmos trigger

* Fixing failing test

* test check in

* Undo testing changes in sample app

* spacing fix

* updated tests

* non secret changes

* Addressing PR feedback

* e2e test work

* adding comments

* Removed json deserialization attribute

* Rename to AllowConverterFallback

* Addressing feedback

* Metada generation cleanup

* Test cleanup

* Addressing feedback

* Updated grpcFunctionDefinition for multiple inputConverterAttribute

* Removing cosmos converter registration

* Address PR feedback

* Address PR feedback

* Test fix

* Minor

* addressing comments

* getting e2e working

* Implement bypass deferred binding (#1462)

Implement bypass deferred binding

* Build issue fix

* comments

* Update test/E2ETests/E2EApps/E2EApp/Table/TableInputBindingFunctions.cs

Co-authored-by: Lilian Kasem <likasem@microsoft.com>

* Adding check for PR in yml file (#1546)

* addressing some more comments

* dependency

* one more dependency

* trying to compile lol

* seeing if tables project compiles with dependency

* removing local instance

* see if this compiles

* trying to remove test

* nvm adding it back

* adding keys to nuget.config

* trying to get feed

* trying again

* more yml

* fixing spacing

* ci.yml

* Add ability to bind to SBReceivedMessage (#1313)

* another change

* trying again

* formatting changes

* changes

* updating worker.sdk package

* fixing unit test

* getting unit tests to pass

* fixing test

---------

Co-authored-by: Lilian Kasem <likasem@microsoft.com>
Co-authored-by: Surgupta <surgupta@microsoft.com>
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
liliankasem added a commit that referenced this pull request Jun 22, 2023
* Add E2E tests for blob SDK type bindings (#1360)

* Add analyzer for SupportsDeferredBindingAttribute (#1367)

* Update SupportsDeferredBinding diagnostic code & update docs (#1377)

* Revert "Remove types, tests & logic related to the SDK-binding feature (#1374)"

This reverts commit eac5b19.

* Added unit tests for BlobStorageConverter (#1370)

* Adding test project
* Added tests

* Initial changes

* Updating metadata

* Adding a test

* Code refactoring

* Cosmos DB converter for SDK-type support and samples (#1406)

* Execution flow added

* Update pipeline variables to include tags (#1427)

* Update extension variables to not use build number with tags (#1429)

* Execution flow

* cleanup

* Cleanup

* Cleanup

* Cleanup execution flow

* Added test

* Adding tests

* code cleanup

* Code cleanup

* code refactor

* Added logic to check type before sending to converter

* Updated tests

* Removing advertised converters from options

* Adding options back

* Changes to check type

* updating type check logic

* correction in metadata generation

* code cleanup

* Test cleanup

* Added changes to support poco

* Metadata generation changes

* Changes on Invocation side

* correcting type check and tests

* Test for poco invocation support

* Added tests for poco invocation flows

* Metadata generator minor update

* Grpc definition update

* Added poco and poco collection check

* cleanup metadata generation

* Adding support for type collection

* code cleanup

* Fixing metadata gen

* Test fix

* Grpc definition fix

* Removing BlobContainerClient advertisement

* Readding containerclient

* Updated metadata generator

* Changes as per latest design

* code cleanup

* updatin tests input

* code cleanup

* Cleanup Metadata generation

* correcting converters fallback logic

* Removing converter advertisement on cosmos trigger

* Fixing failing test

* test check in

* Undo testing changes in sample app

* spacing fix

* updated tests

* non secret changes

* Addressing PR feedback

* e2e test work

* adding comments

* Removed json deserialization attribute

* Rename to AllowConverterFallback

* Addressing feedback

* Metada generation cleanup

* Test cleanup

* Addressing feedback

* Updated grpcFunctionDefinition for multiple inputConverterAttribute

* Removing cosmos converter registration

* Address PR feedback

* Address PR feedback

* Test fix

* Minor

* addressing comments

* getting e2e working

* Implement bypass deferred binding (#1462)

Implement bypass deferred binding

* Build issue fix

* comments

* Update test/E2ETests/E2EApps/E2EApp/Table/TableInputBindingFunctions.cs

Co-authored-by: Lilian Kasem <likasem@microsoft.com>

* Adding check for PR in yml file (#1546)

* addressing some more comments

* dependency

* one more dependency

* trying to compile lol

* seeing if tables project compiles with dependency

* removing local instance

* see if this compiles

* trying to remove test

* nvm adding it back

* adding keys to nuget.config

* trying to get feed

* trying again

* more yml

* fixing spacing

* ci.yml

* Add ability to bind to SBReceivedMessage (#1313)

* another change

* trying again

* formatting changes

* changes

* updating worker.sdk package

* fixing unit test

* getting unit tests to pass

* fixing test

---------

Co-authored-by: Lilian Kasem <likasem@microsoft.com>
Co-authored-by: Surgupta <surgupta@microsoft.com>
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
liliankasem added a commit that referenced this pull request Jul 21, 2023
---------
Co-authored-by: Lilian Kasem <likasem@microsoft.com>
Co-authored-by: Surgupta <surgupta@microsoft.com>
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
liliankasem added a commit that referenced this pull request Aug 11, 2023
---------
Co-authored-by: Lilian Kasem <likasem@microsoft.com>
Co-authored-by: Surgupta <surgupta@microsoft.com>
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
liliankasem added a commit that referenced this pull request Aug 15, 2023
---------
Co-authored-by: Lilian Kasem <likasem@microsoft.com>
Co-authored-by: Surgupta <surgupta@microsoft.com>
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
JoshLove-msft added a commit to JoshLove-msft/azure-functions-dotnet-worker that referenced this pull request Oct 4, 2023
* Add E2E tests for blob SDK type bindings (Azure#1360)

* Add analyzer for SupportsDeferredBindingAttribute (Azure#1367)

* Update SupportsDeferredBinding diagnostic code & update docs (Azure#1377)

* Revert "Remove types, tests & logic related to the SDK-binding feature (Azure#1374)"

This reverts commit eac5b19.

* Added unit tests for BlobStorageConverter (Azure#1370)

* Adding test project
* Added tests

* Initial changes

* Updating metadata

* Adding a test

* Code refactoring

* Cosmos DB converter for SDK-type support and samples (Azure#1406)

* Execution flow added

* Update pipeline variables to include tags (Azure#1427)

* Update extension variables to not use build number with tags (Azure#1429)

* Execution flow

* cleanup

* Cleanup

* Cleanup

* Cleanup execution flow

* Added test

* Adding tests

* code cleanup

* Code cleanup

* code refactor

* Added logic to check type before sending to converter

* Updated tests

* Removing advertised converters from options

* Adding options back

* Changes to check type

* updating type check logic

* correction in metadata generation

* code cleanup

* Test cleanup

* Added changes to support poco

* Metadata generation changes

* Changes on Invocation side

* correcting type check and tests

* Test for poco invocation support

* Added tests for poco invocation flows

* Metadata generator minor update

* Grpc definition update

* Added poco and poco collection check

* cleanup metadata generation

* Adding support for type collection

* code cleanup

* Fixing metadata gen

* Test fix

* Grpc definition fix

* Removing BlobContainerClient advertisement

* Readding containerclient

* Updated metadata generator

* Changes as per latest design

* code cleanup

* updatin tests input

* code cleanup

* Cleanup Metadata generation

* correcting converters fallback logic

* Removing converter advertisement on cosmos trigger

* Fixing failing test

* test check in

* Undo testing changes in sample app

* spacing fix

* updated tests

* non secret changes

* Addressing PR feedback

* e2e test work

* adding comments

* Removed json deserialization attribute

* Rename to AllowConverterFallback

* Addressing feedback

* Metada generation cleanup

* Test cleanup

* Addressing feedback

* Updated grpcFunctionDefinition for multiple inputConverterAttribute

* Removing cosmos converter registration

* Address PR feedback

* Address PR feedback

* Test fix

* Minor

* addressing comments

* getting e2e working

* Implement bypass deferred binding (Azure#1462)

Implement bypass deferred binding

* Build issue fix

* comments

* Update test/E2ETests/E2EApps/E2EApp/Table/TableInputBindingFunctions.cs

Co-authored-by: Lilian Kasem <likasem@microsoft.com>

* Adding check for PR in yml file (Azure#1546)

* addressing some more comments

* dependency

* one more dependency

* trying to compile lol

* seeing if tables project compiles with dependency

* removing local instance

* see if this compiles

* trying to remove test

* nvm adding it back

* adding keys to nuget.config

* trying to get feed

* trying again

* more yml

* fixing spacing

* ci.yml

* Add ability to bind to SBReceivedMessage (Azure#1313)

* another change

* trying again

* formatting changes

* changes

* updating worker.sdk package

* fixing unit test

* getting unit tests to pass

* fixing test

---------

Co-authored-by: Lilian Kasem <likasem@microsoft.com>
Co-authored-by: Surgupta <surgupta@microsoft.com>
Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants