You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add Poller<T> for long-running operations (LROs) (#2759)
* Add Poller<T> for long-running operations (LROs)
Resolves#2756 and resolves#2482
* Complete implementation of Poller
* Add more examples of Poller to core
Also adds a `DEFAULT_POLICY` to Key Vault certificates similar to most other Azure SDK languages. This significantly simplifies examples.
* Resolve PR feedback
* Move poller methods to convenience client
Redefined as extension methods to avoid overwriting the generated code until the emitter has added support for Poller.
* Rename DEFAULT_POLICY to DEFAULT_CERTIFICATE_POLICY
* Inline default CertificatePolicy creation in every sample
Copy file name to clipboardExpand all lines: sdk/core/azure_core/CHANGELOG.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,15 +6,23 @@
6
6
7
7
- Added `get_async_runtime()` and `set_async_runtime()` to allow customers to replace the asynchronous runtime used by the Azure SDK.
8
8
- Added `PageIterator::continuation_token()` and `PageIterator::with_continuation_token()` to support reconstructing a `PageIterator` in another process or on another machine to continue paging.
9
+
- Added `Poller<T>` for long-running operations (LROs).
10
+
- Added `Request::set_method()` to allow changing the HTTP method of a request.
11
+
- Added `StatusMonitor` for long-running operations.
9
12
10
13
### Breaking Changes
11
14
15
+
- Added `http::PollerOptions` parameter to `http::poller::get_retry_after`.
16
+
- Implemented `FromStr` where `FromStr::Err = Infallible` for `PollerStatus` instead of `From<&str>`.
12
17
- Minimum supported Rust version (MSRV) is now 1.85.
13
18
-`azure_core::http::Pipeline::new` now takes an `azure_core::http::ClientOptions` which is defined in `azure_core`, but convertible to `typespec_client_core::http::ClientOptions`.
14
19
- Moved `process::Executor` to `azure_identity`.
15
20
- Removed `Pipeline::replace_policy`.
21
+
- Removed unused `location` and `body` modules from `http::poller`.
16
22
- Renamed `azure_core::date` to `azure_core::time` and added `azure_core::time::Duration` as the standard "duration" type for the SDK.
23
+
- Renamed `http::poller::body_content` to `http::poller::body`.
17
24
- Renamed `PagerResult::More { next }` to `continuation`.
25
+
- Renamed `PollerStatus::Other` to `PollerStatus::UnknownValue` following [guidelines](https://azure.github.io/azure-sdk/rust_introduction.html#rust-enum-extensible).
18
26
- Renamed `TelemetryOptions` to `UserAgentOptions`.
Awaiting `wait()` will only fail if the HTTP status code does not indicate successfully fetching the status monitor.
362
+
249
363
### Replacing the async runtime
250
364
251
365
Internally, the Azure SDK uses either the `tokio` async runtime (with the `tokio` feature), or it implements asynchronous functionality using functions in the `std` namespace.
0 commit comments