このトピックでは、osscmdツールの使用方法について説明します。
osscmdツールを使用する
SDKインストールパッケージをダウンロードして解凍したら、osscmdツールを使用できます。
Python osscmdを呼び出して、osscmdツールでサポートされているコマンドの実行方法に関する指示を取得できます。 次のいずれかの方法で各コマンドを実行できます。 次の例は、gsコマンドを実行して特定のユーザーが作成したバケットを取得する方法を示しています。
- 方法1: osscmdツールは、デフォルトファイルからAccessKey IDとAccessKey Secretを読み取ります。 この場合、AccessKey IDとAccessKey Secretを指定する必要はありません。
$ python osscmd gs accessid/accesskeyを取得できません、セットアップ使用: config -- id=accessid -- key=accesskey
説明 同様の出力が表示された場合、AccessKey IDとAccessKey Secretの読み取りに失敗します。 AccessKey IDとAccessKey Secretを指定する方法の詳細については、「方法2」をご参照ください。AccessKey IDとAccessKey Secretが有効であることを確認します。 AccessKey IDとAccessKey Secretを指定したら、次のコマンドを実行します。$python osscmd gs 2013-07-19 08:11テスト-oss-サンプル バケット番号は: 1
- 方法2: コマンドでAccessKey IDとAccessKey Secretを指定します。 osscmdツールは、コマンドラインからAccessKey IDとAccessKey Secretを読み取ります。 AccessKey IDとAccessKey Secretが有効な場合は、次のコマンドを実行します。
$ python osscmd gs -- id=your_id -- key=your_key -- host=your_endpoint 2013-07-19 08:11テスト-oss-サンプル バケット番号は: 1
AccessKey IDとAccessKey Secretを設定してデフォルトファイルにインポートするには、次のコマンドを実行します。 s oss.aliyuncs.comするOSSのデフォルトドメイン名。
$python osscmd config -- id=your_id -- key=your_key -- host=your_endpoint
同様の出力が保存された設定が表示された場合、AccessKey IDとAccessKey Secretは保存されています。
基本操作
- 作成されたバケットのリスト
$python osscmd getallbucket
OSSにバケットがない場合、バケットは表示されません。
- バケットを作成する
"mybucketname" という名前のバケットを作成します。
$python osscmd createbucket mybucketname
バケットの作成に失敗する可能性があります。 原因は、バケットの名前がOSS内で一意である必要があることです。 別のバケット名を使用する必要があります。 たとえば、バケット名に特定の日付を追加します。
- バケットが作成されているかどうかを確認します
$python osscmd getallbucket
バケットの作成に失敗した場合は、osscmdツールから返されるエラーメッセージを確認してください。
- オブジェクトの表示
バケットの作成後、バケット内のオブジェクトを表示できます。
$python osscmdリストoss:// mybucketname/
バケットにオブジェクトがない場合、オブジェクトは表示されません。
- ファイルのアップロード
ローカルファイルをバケットにアップロードします。 ローカルファイルの名前がlocal_existed_fileの場合、次のコマンドを実行してファイルのMD5値を計算し、ローカルファイルをバケットにアップロードします。
$ md5sum local_existed_file 7625e1adc3a4b129763d580ca0a78e44 local_existed_file $python osscmd put local_existed_file oss:// mybucketname/test_object
説明md5sum
はLinuxでのみ実行されます。 - オブジェクトをもう一度表示する
バケットにアップロードされたオブジェクトを表示できます。
$python osscmdリストoss:// mybucketname/
- オブジェクトのダウンロード
バケットからローカルファイルにオブジェクトをダウンロードします。 ダウンロードされたオブジェクトのMD5値と、オブジェクトがダウンロードされる前に計算されたオブジェクトのMD5値を比較します。
$ python osscmd get oss:// mybucketname/test_object download_file $md5sum download_file 7625e1adc3a4b129763d580ca0a78e44 download_ファイル
説明md5sum
はLinuxでのみ実行されます。 - オブジェクトの削除
$ python osscmd delete oss://mybucketname/test_object
- バケットの削除 説明 バケットにオブジェクトが含まれている場合、バケットは削除できません。
$ python osscmd deletebucket mybucketname
ライフサイクルの使用
- TXTファイルを作成し、XMLファイルとして保存します。 XMLファイルを使用してライフサイクルルールを設定します。
<LifecycleConfiguration> <Rule> <ID>1125</ID> <Prefix>log_backup/</Prefix> <Status>Enabled</Status> <Expiration> <Days>2</Days> </Expiration> </ルール> </LifecycleConfiguration>
上記のコードを実行すると、名前の先頭にlog_backup /が付いており、最後の変更時刻から2日間保持されているオブジェクトは削除されます。 ライフサイクルルールの設定の詳細については、「APIリファレンス」をご参照ください。
- ライフサイクルルールを作成します。
python osscmd putlifecycle oss:// mybucket lifecycle.xml 0.150経過
- ライフサイクルルールを読む。
python osscmd getlifecycle oss:// mybucket <? xml version="1.0" encoding="UTF-8"? > <LifecycleConfiguration> <Rule> <ID>1125</ID> <Prefix>log_backup/</Prefix> <Status>Enabled</Status> <Expiration> <Days>2</Days> </Expiration> </ルール> </LifecycleConfiguration> 0.027経過
- ライフサイクルルールを削除します。
python osscmd deletelifecycle oss:// mybucket 0.139経過
- ライフスタイルのルールを読んでください。
python osscmd getlifecycle oss:// mybucket エラーヘッダー: [('content-length ', '288'), ('server', 'AliyunOSS'), ('connection', 'close'), ('x-oss-request-id', '54C74FEE5D7F6B24E5042630'), ('date', 'Tue, 27 Jan 2015 08:44:30 GMT'), ('content-type', 'application/xml')] エラー本体: <? xml version="1.0" encoding="UTF-8"? > <エラー> <BucketName>mybucket</BucketName> <Code>NoSuchLifecycle</Code> <Message>No Row found in Lifecycle Table. </Message> <RequestId>54C74FEE5D7F6B24E5042630</RequestId> <HostI d>mybucket.oss-maque-hz-a.alibaba.net</HostId> </エラー> エラーステータス: 404 getlifecycle失敗しました!
アンチホットリンクの設定
- 空のRefererフィールドを持つリクエストからのアクセスを許可します。
$osscmd putrefereross: // test -- allow_empty_referer=true 0.004経過
- リファラーホワイトリストを取得します。
$osscmd getreferer oss:// test <? xml version="1.0" encoding="UTF-8"? > <RefererConfiguration> <AllowEmptyReferer>true</AllowEmptyReferer> <RefererList /> </RefererConfiguration>
- Refererフィールドは必須です。 Refererフィールドの値がf www.example.comされているリクエストのみが許可されます。
$osscmd putrefereross: // test -- allow_empty_referer=false -- referer='www .example.com' 0.092経過
- リファラーホワイトリストを取得します。
$osscmd getreferer oss:// test <? xml version="1.0" encoding="UTF-8"? > <RefererConfiguration> <AllowEmptyReferer>false</AllowEmptyReferer> <RefererList> <Refere r>www.example.com</Referer> </RefererList> </RefererConfiguration>
- Refererフィールドは必須です。 Refererフィールドの値がo f www.example.com o r www.example.orgのリクエストのみが許可されます。
$osscmd putreferer oss:// test -- allow_empty_referer=false -- referer='www .example.com,www.example.org '
- リファラーホワイトリストを取得します。
$osscmd getreferer oss:// test <? xml version="1.0" encoding="UTF-8"? > <RefererConfiguration> <AllowEmptyReferer>false</AllowEmptyReferer> <RefererList> <Refere r>www.example.com</Referer> <Refere r>www.example.org</Referer> </RefererList> </RefererConfiguration>
ログの使用
- ログルールの設定
$osscmd putlogging oss:// mybucket oss:// myloggingbucket/mb
- バケット用に設定されたロギングルールの取得
$osscmd getlogging oss:// mybucket