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

[Cosmos DB] [API Review] Move to azcore 0.20 and fit and finish #15927

Merged
merged 9 commits into from
Oct 25, 2021

Conversation

ealsur
Copy link
Member

@ealsur ealsur commented Oct 25, 2021

This PR covers finishing touches from the API Review. The major changes:

Remove of Cosmos prefix

Removing Cosmos prefix from pending APIs.

Move to azcore 0.20.0

Allows embedding policy.ClientOptions and reduce pipeline initialization code. azcosmos.ClientOptions were greatly reduced.

Closes #15818

Item content

Aligning with other Go SDKs, the operations that take an item payload (like container.CreateItem) now take the raw []byte as input, giving users the freedom to choose the serialization method and technology of their choice and removing serialization from inside the SDK code for user data.

Closes #15819

PartitionKey

To be more clear about the expectations and reduce error checking, NewPartitionKey(interface{}) (*PartitionKey, error) has been removed and 3 explicit constructors exist that cover the 3 types:

  • NewPartitionKeyBool(bool): For any boolean partition key
  • NewPartitionKeyString(string): For any string partition key
  • NewPartitionKeyNumber(float64): For any number (int, float, etc) partition key

None of these return errors, so it's simpler from the user perspective.

Retry on 429

We remove our policy in favor of the azcore policy which already retries on 429s.

Renames

Several method renames, among them, the relevant are:

  • client.GetContainer -> client.NewContainer to be more idiomatic
  • client.GetDatabase -> client.NewDatabase to be more idiomatic
  • database.GetContainer -> client.NewContainer to be more idiomatic
  • Container -> ContainerClient to align with other Go SDKs for grouping Container level operations
  • Database -> DatabaseClient to align with other Go SDKs for grouping Database level operations
  • Id -> ID
  • ResourceId -> ResourceID

Other public API refactorings

  • Removed UnixTime, _ts is not returned as int64
  • Any int was changed to either int32 or int64

@ealsur ealsur added the Cosmos label Oct 25, 2021
@ealsur ealsur self-assigned this Oct 25, 2021
@ealsur ealsur requested a review from ausfeldt as a code owner October 25, 2021 21:45
@ealsur ealsur enabled auto-merge (squash) October 25, 2021 22:12
@ealsur ealsur merged commit 9b1992f into main Oct 25, 2021
@ealsur ealsur deleted the users/ealsur/fitfinish branch October 25, 2021 22:42
seankane-msft added a commit that referenced this pull request Oct 27, 2021
* Add ARM-specific bearer token policy (#15885)

* Add ARM-specific bearer token policy

Removed support for auxiliary tenants from the runtime version of this
policy as this is specific to ARM.

* add tests for expiring resource

* remove superfluous x-ms-date header

* remove policy.TokenRequestOptions from AuthenticationOptions

* refactor bearer token policy constructors

* Update azservicebus test fake (#15735)

* Add release date for azcore v0.20.0 (#15915)

* Increment version for azcore releases (#15919)

Increment package version after release of azcore

* Fully automate cluster buildout. Add azure file share mount to stress tests. (#15918)

Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>

* Fix azidentity CI (#15886)

* Add DefaultAzureCredential struct (#15759)

* Add AzureCLICredentialOptions.TenantID (#15761)

* Changed ThroughputOptions to use azcore Etag (#15900)

Co-authored-by: Jason Amos <digitalamerica@gmail.com>

* [azservicebus] Cleanup/changes from API review (removal of processor and singular receives) (#15901)

API trimming/modifications based on review:

* Unexport Processor
* Unexport the singular message APIs (ReceiveMessage, ReceiveDeferredMessage) in favor of their plural counterparts.
* Deleting processor sample but would have anyways since we had an example file for it.
* Remove mentions of the Processor from our readme/migrationguide
* Remove mentions of the Processor in doc comments on exported types

* Clean up/organize script and json files in top level directory (#15453)

* Clean up/organize script and json files in top level directory

* Add eng/tools to coverage config and alphabetize it

* [Cosmos DB] [API Review] Move to azcore 0.20 and fit and finish (#15927)

* Port to azcore 0.20

* Item using byte array

* adding header policy tests

* more tests

* readme

* to int32

* lint

* Set floor of one second for polling delay (#15905)

To avoid excessive polling.
Add 429 to list of retriable HTTP status codes.

* Release sdk/resourcemanager/streamanalytics/armstreamanalytics v0.1.0 (#15840)

* [Release] sdk/resourcemanager/streamanalytics/armstreamanalytics/0.1.0 generation from spec commit: 3c16aae50c7110e1aad241ac93995621d4093d46

* fix

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Arcturus <ufo54153@gmail.com>

* Release sdk/resourcemanager/databricks/armdatabricks v0.1.0 (#15842)

* [Release] sdk/resourcemanager/databricks/armdatabricks/0.1.0 generation from spec commit: 3c16aae50c7110e1aad241ac93995621d4093d46

* fix

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>

* Release sdk/resourcemanager/scheduler/armscheduler v0.1.0 (#15843)

* [Release] sdk/resourcemanager/scheduler/armscheduler/0.1.0 generation from spec commit: 3c16aae50c7110e1aad241ac93995621d4093d46

* fix

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>

* Release sdk/resourcemanager/notificationhubs/armnotificationhubs v0.1.0 (#15844)

* [Release] sdk/resourcemanager/notificationhubs/armnotificationhubs/0.1.0 generation from spec commit: 2a5304178ab7416e40622808dea5b630fb7854d9

* fix

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>

* Release sdk/resourcemanager/search/armsearch v0.1.0 (#15846)

* [Release] sdk/resourcemanager/search/armsearch/0.1.0 generation from spec commit: 2a5304178ab7416e40622808dea5b630fb7854d9

* fix

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>

* Release sdk/resourcemanager/alertsmanagement/armalertsmanagement v0.1.0 (#15847)

* Release sdk/resourcemanager/alertsmanagement/armalertsmanagement v0.1.0

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>

* Release sdk/resourcemanager/mediaservices/armmediaservices v0.1.0 (#15866)

* [Release] sdk/resourcemanager/mediaservices/armmediaservices/0.1.0 generation from spec commit: c4d19b8362dfa8001c78062659ab88c529ece7b6

* fix

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>

* Release sdk/resourcemanager/cognitiveservices/armcognitiveservices v0.1.0 (#15890)

* [Release] sdk/resourcemanager/cognitiveservices/armcognitiveservices/0.1.0 generation from spec commit: 762ca1046eedf2b2dba28784dd4aebffab2a9897

* fix

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>

* Release sdk/resourcemanager/relay/armrelay v0.1.0 (#15892)

* [Release] sdk/resourcemanager/relay/armrelay/0.1.0 generation from spec commit: 769e09cac92c50b1f9fa6468775b7cb7de16bb06

* fix

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>

* Release sdk/resourcemanager/managementgroups/armmanagementgroups v0.1.0 (#15909)

* [Release] sdk/resourcemanager/managementgroups/armmanagementgroups/0.1.0 generation from spec commit: 4aebac1bd77282ae8efe3dd2886e864537d31762

* fix

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>

* Align azidentity environment variables with other SDKs (#15928)

* [Cosmos DB] Use time.Time to represent Timestamps/LastModified (#15939)

* manual serialization

* with pointer

* boolean signature

* Removing dead code

* Add latest released version to prepare prerelease (#15941)

Co-authored-by: Chidozie Ononiwu <chononiw@microsoft.com>

* Release sdk/resourcemanager/resourcehealth/armresourcehealth v0.1.0 (#15910)

* [Release] sdk/resourcemanager/resourcehealth/armresourcehealth/0.1.0 generation from spec commit: 4aebac1bd77282ae8efe3dd2886e864537d31762

* fix

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>

* [azservicebus] Allow for renewing message and session locks (#15929)

Adding in message lock renewal and session lock renewal.

* Updating codeowners for Service Bus (#15943)

CODEOWNERS for Service Bus

* Remove old CI parameter (#15947)

* Release sdk/resourcemanager/datalake-analytics/armdatalakeanalytics v0.1.0 (#15938)

* [Release] sdk/resourcemanager/datalake-analytics/armdatalakeanalytics/0.1.0 generation from spec commit: 348665d474283df6a73d6a2ec6defef271251f13

* fix

* Update CHANGELOG.md

Co-authored-by: Dapeng Zhang <ufo54153@gmail.com>

* Increment version for resourcemanager/resourcehealth/armresourcehealth releases (#15952)

Increment package version after release of resourcemanager/resourcehealth/armresourcehealth

* Increment version for resourcemanager/managementgroups/armmanagementgroups releases (#15951)

Increment package version after release of resourcemanager/managementgroups/armmanagementgroups

* Increment version for resourcemanager/mediaservices/armmediaservices releases (#15949)

Increment package version after release of resourcemanager/mediaservices/armmediaservices

* Increment version for resourcemanager/relay/armrelay releases (#15948)

Increment package version after release of resourcemanager/relay/armrelay

* Increment version for resourcemanager/databricks/armdatabricks releases (#15933)

Increment package version after release of resourcemanager/databricks/armdatabricks

* Increment version for resourcemanager/streamanalytics/armstreamanalytics releases (#15932)

Increment package version after release of resourcemanager/streamanalytics/armstreamanalytics

* Increment version for resourcemanager/servicefabric/armservicefabric releases (#15873)

Increment package version after release of resourcemanager/servicefabric/armservicefabric

* Increment version for resourcemanager/mysql/armmysqlflexibleservers releases (#15868)

Increment package version after release of resourcemanager/mysql/armmysqlflexibleservers

* Increment version for resourcemanager/appplatform/armappplatform releases (#15860)

Increment package version after release of resourcemanager/appplatform/armappplatform

* update version number (#15850)

* Increment version for resourcemanager/datalake-analytics/armdatalakeanalytics releases (#15953)

Increment package version after release of resourcemanager/datalake-analytics/armdatalakeanalytics

* Increment package version after release of resourcemanager/cognitiveservices/armcognitiveservices (#15950)

* Increment package version after release of resourcemanager/notificationhubs/armnotificationhubs (#15937)

* Increment package version after release of resourcemanager/alertsmanagement/armalertsmanagement (#15936)

* Increment package version after release of resourcemanager/search/armsearch (#15935)

* Increment package version after release of resourcemanager/scheduler/armscheduler (#15934)

* Increment package version after release of resourcemanager/operationsmanagement/armoperationsmanagement (#15869)

* Increment package version after release of resourcemanager/mysql/armmysql (#15867)

* Increment package version after release of resourcemanager/recoveryservices/armrecoveryservices (#15861)

* Increment package version after release of resourcemanager/datalake-store/armdatalakestore (#15859)

* Increment version for resourcemanager/iothub/armiothub releases (#15832)

* Increment package version after release of resourcemanager/iothub/armiothub

* bump version

Co-authored-by: ArcturusZhang <dapzhang@microsoft.com>

* Increment version for resourcemanager/security/armsecurity releases (#15827)

* Increment package version after release of resourcemanager/security/armsecurity

* bump version

Co-authored-by: ArcturusZhang <dapzhang@microsoft.com>

* Revise azidentity errors (#15924)

* missing coverage for sb

Co-authored-by: Joel Hendrix <jhendrix@microsoft.com>
Co-authored-by: Charles Lowell <chlowe@microsoft.com>
Co-authored-by: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com>
Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>
Co-authored-by: Jason <71847735+jay-most@users.noreply.github.com>
Co-authored-by: Jason Amos <digitalamerica@gmail.com>
Co-authored-by: Richard Park <51494936+richardpark-msft@users.noreply.github.com>
Co-authored-by: Matias Quaranta <ealsur@users.noreply.github.com>
Co-authored-by: JiahuiPeng <46921893+804873052@users.noreply.github.com>
Co-authored-by: Arcturus <ufo54153@gmail.com>
Co-authored-by: Chidozie Ononiwu <chononiw@microsoft.com>
Co-authored-by: Dapeng Zhang <dapzhang@microsoft.com>
jhendrixMSFT pushed a commit to jhendrixMSFT/azure-sdk-for-go that referenced this pull request Jan 12, 2022
…e#15927)

* Port to azcore 0.20

* Item using byte array

* adding header policy tests

* more tests

* readme

* to int32

* lint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
2 participants