2017-11-19 6 views
-1

Linux用AzCopyを使用して私のUbuntuマシンからAzureにサンプルファイルをアップロードしようとしていますが、私が変更した権限/所有権に関係なく、以下のエラーが表示されます。Linux用AzCopyアップロードファイル

$ azcopy  --source ../my_pub  --destination https://account-name.blob.core.windows.net/mycontainer  --dest-key account-key  
Incomplete operation with same command line detected at the journal directory "/home/jmis/Microsoft/Azure/AzCopy", do you want to resume the operation? Choose Yes to resume, choose No to overwrite the journal to start a new operation. (Yes/No) Yes 
[2017/11/18 22:06:24][ERROR] Error parsing source location "../my_pub": Failed to enumerate directory /home/jmis/my_pub/ with file pattern *. Cannot find the path '/home/jmis/my_pub/'. 

私は解決策を見つけるためにインターネットを掘り起こしました。結局私はここで質問をしました。

+1

私はいくつかの任意の文字列を追加してdestキーを改ざんしました。 –

答えて

1

我々はAzcopyする(Linux)と単一のファイルをアップロードするために、このスクリプトを使用することができます:あなたはここで、一例をアップロードしたいファイルを指定する

azcopy \ 
    --source /mnt/myfiles \ 
    --destination https://myaccount.file.core.windows.net/myfileshare/ \ 
    --dest-key <key> \ 
    --include abc.txt 

使用--includeを、それを確認してください。

[email protected]:/jason# pwd 
/jason 
[email protected]:/jason# ls 
test1 


[email protected]:/jason# azcopy --source /jason/ --destination https://jasondisk3.blob.core.windows.net/jasonvm/ --dest-key m+kQwLuQZiI3LMoMTyAI8K40gkOD+ZaT9HUL3AgVr2KpOUdqTD/AG2j+TPHBpttq5hXRmTaQ== --recursive --include test1 
Finished 1 of total 1 file(s).                                                 
[2017/11/20 07:45:57] Transfer summary:                                               
----------------- 
Total files transferred: 1 
Transfer successfully: 1 
Transfer skipped:  0 
Transfer failed:   0 
Elapsed time:   00.00:00:02 
[email protected]:/jason# 

LinuxのAzcopyの詳細については、linkを参照してください。

+0

私がやっていた間違いは、単一のファイルをアップロードするための命令である '--exclude'フラグを無視することでした。今の魅力のように動作します!ありがとう@Jason Ye - MSFT –

+0

azcopy linuxのドキュメント "single file upload"は--excludeや--includeキーの必要性について言及していません。しかし、それはそのようには機能しません。フォルダに分割してファイルとして "include"するだけで動作します。 – JaakL

1

AzCopyはLinuxに問題がありましたが、Azure CLIで上記の操作をシームレスに実行できます。 Azure docsに記載されている以下のコードは、私はそれを行う助け:

#!/bin/bash 
# A simple Azure Storage example script 

export AZURE_STORAGE_ACCOUNT=<storage_account_name> 
export AZURE_STORAGE_ACCESS_KEY=<storage_account_key> 

export container_name=<container_name> 
export blob_name=<blob_name> 
export file_to_upload=<file_to_upload> 
export destination_file=<destination_file> 

echo "Creating the container..." 
az storage container create --name $container_name 

echo "Uploading the file..." 
az storage blob upload --container-name $container_name --file $file_to_upload --name $blob_name 

echo "Listing the blobs..." 
az storage blob list --container-name $container_name --output table 

echo "Downloading the file..." 
az storage blob download --container-name $container_name --name $blob_name --file $destination_file --output table 

echo "Done" 

は、私はあまりにもLinuxは準拠しており、シンプルでクールAzureのCLIを使用することになります今後。