aws / aws/sagemaker-python-sdk
Cannot upload local file for submit_py_files in V3
- Lingua principale
- Python
- Stelle
- 2.3k
- Fork
- 1.3k
- Merge medio
- 1g 22h
- PR unite (30g)
- 35
Descrizione
**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**
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia in sagemaker/core/spark/processing.py, nel codice di PySparkProcessor.run() intorno alle righe 508-512, e segui come un percorso locale in submit_py_files viene convertito in ProcessingInput. Il lavoro è completato quando viene accettato un percorso di file locale e il job di elaborazione si avvia correttamente senza gli errori di validazione Pydantic segnalati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- aws, python, spark
- Ambito
- backend-api-design, machine-learning
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Attiva
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 78/100