2017-10-11 5 views
0

J'essaye de télécharger certains fichiers dans un dossier particulier dans ADLS. Ci-dessous le script de téléchargement az utilise pour télécharger les fichiers.az dls fs télécharger vers le dossier ADLS throws raise Erreur FileExistsError (rpath)

az dls fs upload --account $adls_account --source-path $src_dir --destination-path $dest_dir --thread-count $thread_count --debug 

Le dossier de destination existe déjà dans l'ADLS et j'essaie d'y ajouter d'autres fichiers. Mais lors de l'exécution de ce script, il jette l'erreur:

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/ 

am en utilisant

$ az --version 
azure-cli (2.0.9) 

peut me aider certains s'il vous plaît comment résoudre cette erreur? Fondamentalement, je veux désactiver la fonction d'écrasement lors du téléchargement vers ADLS.

Merci,

Arjun

Répondre

1

L'erreur renvoyée comporte une référence à « FileExistsError:/dossier1/dossier2/folder3/». qui indique que ce dossier existe déjà.

Selon le command reference, puisque vous n'utilisez pas le paramètre -overwrite, l'opération échouera si la destination existe déjà. Je ne vois pas quelle valeur vous avez définie pour $ src_dir, mais si elle est définie sur "/ dossier1/dossier2/dossier3", l'erreur se produira.