AWS Glue: ошибка NotADirectoryError: [Ошибка № 20] Не каталог: ‘/tmp/glue-python-scripts-XXXXX/.ГГГГ’ -> ‘/tmp/glue-python-scripts-XXXX/’

#amazon-web-services #amazon-cloudformation #aws-glue

#amazon-web-services #amazon-облачная информация #aws-glue

Вопрос:

Привет, я пытаюсь запустить задание AWS Glue с аргументом —TempDir:

 arguments = {
        "Name": "pythonshell",
        "PythonVersion": "3",
        "ScriptLocation": f"{script_location}",
        "--extra-py-files": path_to_whl,
        "--TempDir": f"s3://{artifacts_bucket_name}/etl-scripts/"
    }
response = glue.start_job_run(JobName=gluejobname, Arguments=arguments)
 

но я получаю следующую ошибку.

 Traceback (most recent call last):  File "/tmp/runscript.py", line 114, in <module>    temp_file_path = download_user_script(args.scriptLocation)  File "/tmp/runscript.py", line 91, in download_user_script    download_from_s3(args.scriptLocation, temp_file_path)  File "/tmp/runscript.py", line 81, in download_from_s3    s3.download_file(bucket_name, s3_key, new_file_path)  File "/usr/local/lib/python3.6/site-packages/boto3/s3/inject.py", line 172, in download_file    extra_args=ExtraArgs, callback=Callback)  File "/usr/local/lib/python3.6/site-packages/boto3/s3/transfer.py", line 307, in download_file    future.result()  File "/usr/local/lib/python3.6/site-packages/s3transfer/futures.py", line 106, in result    return self._coordinator.result()  File "/usr/local/lib/python3.6/site-packages/s3transfer/futures.py", line 265, in result    raise self._exception  File "/usr/local/lib/python3.6/site-packages/s3transfer/tasks.py", line 126, in __call__    return self._execute_main(kwargs)  File "/usr/local/lib/python3.6/site-packages/s3transfer/tasks.py", line 150, in _execute_main    return_value = self._main(**kwargs)  File "/usr/local/lib/python3.6/site-packages/s3transfer/download.py", line 603, in _main    osutil.rename_file(fileobj.name, final_filename)  File "/usr/local/lib/python3.6/site-packages/s3transfer/utils.py", line 271, in rename_file    rename_file(current_filename, new_filename)NotADirectoryError: [Errno 20] Not a directory: '/tmp/glue-python-scripts-tosi3ba1/.f2AaeCED' -> '/tmp/glue-python-scripts-tosi3ba1/'
 

Расположение скрипта и путь к нему существуют, однако, похоже, существует проблема с созданием каталога tmp. У кого-нибудь есть идея, почему это происходит?
Проблема возникает, когда я создаю задание из стека CloudFormation (фактическое местоположение скрипта и путь к библиотеке python передаются только во время выполнения задания). Когда я попытался создать задание из консоли и указать фактическое местоположение скрипта и путь к библиотеке python во время создания задания, проблема решена. Я не знаю, почему это происходит.