aws / aws/sagemaker-python-sdk

Cannot upload local file for submit_py_files in V3

Offen
#6,252 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
2.3k
Forks
1.3k
Ø Merge
1 T. 22 Std.
Gemergte PRs (30 T.)
35

Beschreibung

**PySDK Version**

- [ ] PySDK V2 (2.x)
- [x] PySDK V3 (3.x)

**Describe the bug**

The PySparkProcessor `run` no longer accepts local files due to the change to `ProcessingInput` interface - e.g. regression introduced in 3203e49

**To reproduce**

Insert a local file path into the list passed as `submit_py_files` in `sagemaker.core.spark.processing.PySparkProcessor.run()`.

(Let me know if you need a more concrete example).

**Expected behavior**

Successfully starts the job.

**Screenshots or logs**

PyDantic reports the following errors:

```
ValidationError: 2 validation errors for ProcessingInput
source
Extra inputs are not permitted [type=extra_forbidden, input_value='s3://sagemaker-.../input/py-files', input_type=str]
For further information visit https://errors.pydantic.dev/2.13/v/extra_forbidden
destination
Extra inputs are not permitted [type=extra_forbidden, input_value='/opt/ml/processing/input/py-files', input_type=str]
For further information visit https://errors.pydantic.dev/2.13/v/extra_forbidden
```

The cause of the error is [here](https://github.com/aws/sagemaker-python-sdk/blob/8e7485a1ed25eb17c70f2323ab6ed6c9695d7024/sagemaker-core/src/sagemaker/core/spark/processing.py#L508-L512):

```py
input_channel = ProcessingInput(
source=input_channel_s3_uri,
destination=f"{self._conf_container_base_path}{input_channel_name}",
input_name=input_channel_name,
)
```

**System information**

- AWS SageMaker Studio 4.4.3
- sagemaker-core: 2.20
- Python 3.12.14
- uname: Linux default 6.12.103-127.188.amzn2023.x86_64 SMP PREEMPT_DYNAMIC Tue Aug 25 15:42:53 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux

**Additional context**

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne in sagemaker/core/spark/processing.py beim Code von PySparkProcessor.run() etwa in den Zeilen 508–512 und verfolge, wie ein lokaler Pfad in submit_py_files in ProcessingInput konvertiert wird. Erledigt ist die Aufgabe, wenn ein lokaler Dateipfad akzeptiert wird und der Processing-Job ohne die gemeldeten Pydantic-Validierungsfehler erfolgreich startet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
aws, python, spark
Bereich
backend-api-design, machine-learning
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Aktiv
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
78/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.