Repository navigation
Commit 3fa7ce7
committed
fix(local): Align local mode with the SageMaker service
Bring local mode behavior in line with the hosted SageMaker service:
- Runtime invoke_endpoint now returns ResponseMetadata and
InvokedProductionVariant, matching the boto3 runtime response.
- LocalSagemakerClient gains a describe_user_profile passthrough so
Studio role resolution works instead of raising AttributeError.
- MultiRecordStrategy buffers bytes or str based on the record type,
so local batch transform handles binary inputs.
- Processing jobs no longer require an IAM role in local mode, where
the role is never used.
- Local pipeline execution state is isolated per instance and per
session instead of living on class-level or client-level state.
- Local pipeline execution ids are 12-char uppercase alphanumerics,
matching the service format and downstream name limits. This ports
#5283 (merged to master-v2, by aviruthen) to the V3 codebase; see
#5269.
The role fix also skips expand_role() when building the create request,
since expand_role(None) raised TypeError once the constructor let a
missing role through. Local-mode integration tests (Docker) cover the
role-less processing job and the invoke_endpoint response contract.
Fixes #3348
Fixes #4417
Fixes #4996
Fixes #5562
Fixes #5572
Fixes #5604
---
X-AI-Prompt: Fix S-effort PySDK V3 bugs, local-mode theme
X-AI-Tool: Kiro1 parent 7ac2708 commit 3fa7ce7
12 files changed
Lines changed: 637 additions & 57 deletions
File tree
- sagemaker-core
- src/sagemaker/core
- local
- tests
- integ/local_mode
- unit
- local
- sagemaker-mlops
- src/sagemaker/mlops/local
- tests/unit/local
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
357 | 357 | | |
358 | 358 | | |
359 | 359 | | |
360 | | - | |
| 360 | + | |
361 | 361 | | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
362 | 366 | | |
363 | 367 | | |
364 | 368 | | |
365 | 369 | | |
366 | 370 | | |
367 | 371 | | |
368 | | - | |
| 372 | + | |
369 | 373 | | |
370 | 374 | | |
371 | 375 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
89 | 108 | | |
90 | 109 | | |
91 | 110 | | |
| |||
533 | 552 | | |
534 | 553 | | |
535 | 554 | | |
536 | | - | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
537 | 574 | | |
538 | 575 | | |
539 | 576 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
278 | 278 | | |
279 | 279 | | |
280 | 280 | | |
281 | | - | |
| 281 | + | |
282 | 282 | | |
283 | 283 | | |
284 | 284 | | |
285 | | - | |
| 285 | + | |
| 286 | + | |
286 | 287 | | |
287 | 288 | | |
288 | 289 | | |
| |||
750 | 751 | | |
751 | 752 | | |
752 | 753 | | |
753 | | - | |
754 | | - | |
755 | | - | |
756 | | - | |
757 | | - | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
758 | 760 | | |
759 | 761 | | |
760 | 762 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
0 commit comments