すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:クイックスタート

最終更新日:Dec 20, 2023

このトピックでは、osscmdツールの使用方法について説明します。

重要 osscmdは2019年7月31日以降利用できません。 Alibaba Cloudはosscmdを更新または維持しなくなりました。 osscmd操作コマンドはossutilに統合されています。

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