このトピックでは、appendfromfile コマンドを実行して、Object Storage Service (OSS) の追加可能なオブジェクトにコンテンツを追加する方法について説明します。
使用上の注意
追加アップロードを実行するには、
oss:GetObject
およびoss:PutObject
権限が必要です。 詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。ossutil 1.6.16 以降では、コマンドラインでバイナリ名として ossutil を直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 ossutil 1.6.16 より前のバージョンでは、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細については、「ossutil コマンドリファレンス」をご参照ください。
追加アップロードの詳細については、「追加アップロード」をご参照ください。
コマンド構文
ossutil appendfromfile localfilename oss://bucketname/objectname
[--meta <value>]
次の表は、上記のパラメーターとオプションについて説明しています。
パラメーター/オプション | 説明 |
localfilename | アップロードするローカルファイルの完全なパス。 |
bucketname | コンテンツを追加するオブジェクトを格納するバケットの名前。 |
objectname | コンテンツを追加するオブジェクトの名前。 appendfromfile コマンドを実行して追加アップロードを実行する場合、オブジェクトの元のファイル名を保持するか、別の名前を指定できます。 |
--meta | オブジェクトのメタデータ。 このパラメーターは、appendfromfile コマンドを初めて実行してオブジェクトをアップロードするときにのみ構成できます。 例: |
例
次の例では、まず appendfromfile コマンドを使用して、ルートディレクトリにある exampleobject.txt という名前のローカルファイルを examplebucket バケットにアップロードし、ファイルをバケットに exampleobject.txt オブジェクトとして保存します。 次に、appendfromfile コマンドを使用して、exampleobject.txt オブジェクトにコンテンツを追加します。
次のコマンドを実行して exampleobject.txt をアップロードし、アップロードされたオブジェクトのアクセス制御リスト (ACL) を非公開に設定します。
ossutil appendfromfile exampleobject.txt oss://examplebucket/exampleobject.txt --meta "x-oss-object-acl:private"
次の出力例は、ローカルファイルがバケットにアップロードされ、exampleobject.txt オブジェクトとして保存されたことを示しています。 exampleobject.txt オブジェクトのサイズは 5 バイトです。
total append 5(100.00%) byte,speed is 0.00(KB/s) local file size is 5,the object new size is 5,average speed is 0.04(KB/s)
次のコマンドを実行して、dest.txt という名前のファイルのコンテンツを exampleobject.txt に追加します。
exampleobject.txt にさらにコンテンツを追加する場合は、dest.txt を exampleobject.txt に追加するコンテンツを含むファイルの名前に置き換えます。
ossutil appendfromfile dest.txt oss://examplebucket/exampleobject.txt
次の出力例は、コンテンツが exampleobject.txt に追加され、追加アップロード操作後のオブジェクトサイズが 150 バイトであることを示しています。
total append 150(100.00%) byte,speed is 0.00(KB/s) local file size is 150,the object new size is 150,average speed is 1.19(KB/s)
共通オプション
ossutil を使用して別のリージョンにあるバケットに切り替える場合は、-e オプションを追加して、バケットが配置されているリージョンのエンドポイントを指定します。 ossutil を使用して別の Alibaba Cloud アカウントに属するバケットに切り替える場合は、-i オプションを追加して、指定したアカウントの AccessKey ID を指定し、-k オプションを追加して、指定したアカウントの AccessKey シークレットを指定します。
たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別の Alibaba Cloud アカウントが所有する examplebucket バケットに、exampleobject.txt ファイルを追加アップロードできます。
ossutil appendfromfile exampleobject.txt oss://examplebucket/exampleobject.txt -e shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret
共通オプションの詳細については、「共通オプション」をご参照ください。