#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 во время создания задания, проблема решена. Я не знаю, почему это происходит.