2017-10-11 1 views
0

Ich versuche, einige Dateien in einen bestimmten Ordner in ADLS hochzuladen. Im Folgenden finden Sie ein Upload-Skript, das zum Hochladen der Dateien verwendet wird.az dls fs Upload in ADLS-Ordner wirft auslösen FileExistsError (rpath) Fehler

Der Zielordner existiert bereits in der ADLS und versucht, weitere Dateien hinzuzufügen. Aber wenn dieses Skript ausgeführt wird, wirft sie den Fehler:

Traceback (most recent call last): 
    File "/mnt/resource/apps/azure-cli/lib/python2.7/site-packages/azure/cli/main.py", line 36, in main 
cmd_result = APPLICATION.execute(args) 
    File "/mnt/resource/apps/azure-cli/lib/python2.7/site-packages/azure/cli/core/application.py", line 211, in execute 
result = expanded_arg.func(params) 
    File "/mnt/resource/apps/azure-cli/lib/python2.7/site-packages/azure/cli/core/commands/__init__.py", line 346, in __call__ 
return self.handler(*args, **kwargs) 
    File "/mnt/resource/apps/azure-cli/lib/python2.7/site-packages/azure/cli/core/commands/__init__.py", line 545, in _execute_command 
reraise(*sys.exc_info()) 
    File "/mnt/resource/apps/azure-cli/lib/python2.7/site-packages/azure/cli/core/commands/__init__.py", line 522, in _execute_command 
result = op(client, **kwargs) if client else op(**kwargs) 
    File "/mnt/resource/apps/azure-cli/lib/python2.7/site-packages/azure/cli/command_modules/dls/custom.py", line 174, in upload_to_adls 
    ADLUploader(client, destination_path, source_path, thread_count, overwrite=overwrite) 
     File "/mnt/resource/apps/azure-cli/lib/python2.7/site-packages/azure/datalake/store/multithread.py", line 347, in __init__ 
    raise FileExistsError(rpath) 
FileExistsError: /folder1/folder2/folder3/ 

Uhr mit

$ az --version 
azure-cli (2.0.9) 

Können einige mir bitte helfen, wie diese Fehler zu beheben? Grundsätzlich möchte ich die Überschreibfunktion beim Hochladen auf ADLS deaktivieren.

Danke,

Arjun

Antwort

1

Der Fehler enthält einen Verweis wieder auf „FileExistsError:/folder1/folder2/Folder3 /“. was darauf hinweist, dass dieser Ordner bereits existiert.

Gemäß der command reference wird der Vorgang fehlschlagen, wenn das Ziel bereits existiert, da Sie nicht den Parameter -overwrite verwenden. Ich kann nicht sehen, welchen Wert Sie für $ src_dir gesetzt haben, aber wenn dies auf "/ folder1/folder2/folder3" eingestellt ist, würde der Fehler auftreten.