オブジェクト・ストレージでのオブジェクト・ライフサイクル・ポリシーの作成

オブジェクト・ストレージ・バケットのオブジェクト・ライフサイクル・ポリシーを作成します。

    1. ナビゲーション・メニューを開き、「ストレージ」をクリックします。「オブジェクト・ストレージおよびアーカイブ・ストレージ」で、「バケット」をクリックします。
    2. 「リスト範囲」の下のリストからコンパートメントを選択します。そのコンパートメント内のすべてのバケットが表形式でリストされます。
    3. ライフサイクル・ポリシー・ルールを作成するバケットをクリックします。バケットの「詳細」ページが表示されます。
    4. 「リソース」の下にある「ライフサイクル・ポリシー・ルール」をクリックします。「ライフサイクル・ポリシー・ルール」リストが表示されます。すべてのライフサイクル・ポリシー・ルールが表形式でリストされます。
    5. 「ルールの作成」をクリックします。「ライフサイクル・ルールの作成」ダイアログ・ボックスが表示されます。

      コンソールでは、このタスクを正常に実行するために配置されているIAMポリシーがチェックされます。ポリシーがないという警告が表示された場合は、コンソールで欠落しているポリシーの作成を試すか、欠落しているポリシーの詳細をクリップボードにコピーして管理者に電子メールで送信できます。必要なポリシーが設定されている場合は、ライフサイクル・ポリシー・ルールを作成します。

    6. 次を完了します:
      • 名前: 名前を入力するか、デフォルトのシステム名を受け入れます。現在の年、月、日および時刻を反映するルール名が生成されます(たとえば、lifecycle-rule-20190321-1559)。この名前を変更する場合は、文字、数字、ダッシュ、アンダースコアおよびピリオドを使用します。

      • ターゲット: ライフサイクル・ルールが適用するターゲットを選択します:

        • オブジェクト・バージョニングが無効な場合は、「オブジェクト」または「コミットされていないマルチパート・アップロード」を選択します。

        • オブジェクト・バージョニングが有効または一時停止されている場合は、「オブジェクトの最新バージョン」「オブジェクトの以前のバージョン」または「コミットされていないマルチパート・アップロード」を選択します。

      • ライフサイクル・アクション: 次のアクションのいずれかを選択します:

        • ルール・ターゲットが「オブジェクト」「オブジェクトの最新バージョン」または「オブジェクトの以前のバージョン」の場合は、「アーカイブに移動」、「頻度の低いアクセスに移動」または「削除」を選択します。自動階層化がバケットで有効になっている場合、「まれでないアクセスに移動」は選択できません。

        • ルール・ターゲットが「コミットされていないマルチパート・アップロード」の場合、「削除」が唯一のオプションで、デフォルトで選択されます。

      • 日数: 指定されたアクションが実行されるまでの日数を入力します。

      ノート

      ルールによって以前のオブジェクト・バージョンをアーカイブまたは削除する場合、日数のカウントダウンは、オブジェクト・バージョンが最新のオブジェクト・バージョンから以前のオブジェクト・バージョンにいつ遷移したかに基づきます。この時間を確認するには、以前の最新バージョンのオブジェクトの最終変更時間を確認します。

    7. ルール・ターゲットが「Objects」「Latest Version of Objects」または「Previous Versions of Objects」の場合、オプションで1つ以上のオブジェクト名フィルタを追加して、ライフサイクル・ルールが適用されるオブジェクトを指定できます。接頭辞およびパターン一致を使用して、オブジェクトまたはオブジェクト・バージョンを選択できます。オブジェクト名フィルタが指定されていない場合、ルールはバケット内のすべてのオブジェクトに適用されます。

      オブジェクト名フィルタを作成するには:

      1. 「フィルタの追加」をクリックします。

      2. フィルタ・タイプの選択

      3. フィルタ値を入力します。

      「別のフィルタの追加」をクリックして、このルールにフィルタを追加します。フィルタの横の「X」をクリックして、削除します。

    8. 「状態」スイッチを使用して、ルールの作成後にルールを有効化するか無効化するかを指定します。
    9. 「作成」をクリックします。
      ヒント

      ルールを有効または無効にするには、ルールの横にある「アクション」メニュー(アクション・メニュー)をクリックし、「有効化」または「無効化」を選択します。

    ルールが「ライフサイクル・ポリシー・ルール」リストに表示されます。

  • バケットのオブジェクト・ライフサイクル・ポリシーを作成するには、oci os object-lifecycle-policy putコマンドと必要なパラメータを使用します:

    oci os object-lifecycle-policy put --bucket-name bucket_name [OPTIONS]

    ライフサイクル・ポリシー・ルールの指定

    itemsパラメータを使用して、バケットのライフサイクル・ポリシー・ルールのセットを指定します:

    oci os object-lifecycle-policy put --bucket-name bucket_name --items json_formatted_lifecycle_policy
    

    itemsパラメータには、有効なフォーマット済JSONとしてのキーと値のペアを入力する必要があります。JSONフォーマットの詳細は、複合入力の受渡しおよび複合入力のためのJSONファイルの使用を参照してください。

    itemsキー/値ペアの入力では、次を指定する必要があります:
    [
        {
          "action": "string",
          "isEnabled": true,
          "name": "string",
          "objectNameFilter": {
            "exclusionPatterns": [
              "string",
              "string"
            ],
            "inclusionPatterns": [
              "string",
              "string"
            ],
            "inclusionPrefixes": [
              "string",
              "string"
            ]
          },
          "target": "string",
          "timeAmount": 0,
          "timeUnit": "string"
        }
      ]
    actionには次のいずれかの値を指定します:
    説明
    ARCHIVE オブジェクト、オブジェクト・バージョンまたは以前のオブジェクト・バージョンをアーカイブ層に移動するには、このアクションを指定します。
    INFREQUENT_ACCESS オブジェクト、オブジェクト・バージョンまたは以前のオブジェクト・バージョンを頻度の低いアクセス層に移動するには、このアクションを指定します。バケットで自動階層化が有効になっている場合、INFREQUENT_ACCESSを指定できません。
    DELETE オブジェクト、オブジェクト・バージョンまたはオブジェクト・バージョンを削除するには、このアクションを指定します。
    ABORT 失敗したか完了していないマルチパート・アップロードを削除するには、このアクションを使用します。
    targetには次のいずれかの値を指定します:
    説明
    objects オブジェクト、オブジェクト・バージョンまたは以前のオブジェクト・バージョンをアーカイブ層に移動するには、このアクションを使用します。
    object-versions オブジェクト、オブジェクト・バージョンまたは以前のオブジェクト・バージョンを頻度の低いアクセス層に移動するには、このアクションを使用します。
    multipart-uploads オブジェクト、オブジェクト・バージョンまたは以前のオブジェクト・バージョンを削除するには、このアクションを使用します。

    timeUnitは日数で指定します。

    次の例では、名前にパターン*.docを含む以前のオブジェクト・バージョンを、60日後に標準層からアーカイブ層に移動するルールを含むライフサイクル・ポリシーを作成または置換します。ポリシーには、以前のオブジェクト・バージョンを180日後に削除するルールも含まれています。

    oci os object-lifecycle-policy put --bucket-name MyStandardBucket --items
    '[
          {
            "action": "ARCHIVE",
            "is-enabled": true,
            "name": "Move-to-Archive-Rule",
            "object-name-filter": {
              "exclusion-patterns": null,
              "inclusion-patterns": [
                "*.doc"
              ],
              "inclusion-prefixes": null
            },
            "target": "previous-object-versions",
            "time-amount": 60,
            "time-unit": "DAYS"
          },
          {
            "action": "DELETE",
            "is-enabled": true,
            "name": "Delete-Rule",
            "object-name-filter": {
              "exclusion-patterns": null,
              "inclusion-patterns": [
                "*.doc"
              ],
              "inclusion-prefixes": null
            },
            "target": "previous-object-versions",
            "time-amount": 180,
            "time-unit": "DAYS"
          }
    ]'

    次の例では、すべてのオブジェクトを45日後に標準層から頻度の低いアクセス層に移動するルールを含むライフサイクル・ポリシーを作成または置換します。ポリシーには、すべてのオブジェクトを90日後にアーカイブ層に移動するルールも含まれています。

    oci os object-lifecycle-policy put --bucket-name MyStandardTierBucket --items
    '[
          {
            "action": "INFREQUENT_ACCESS",
            "is-enabled": true,
            "name": "Move-to-Infrequent-Access-Rule",
            "object-name-filter": null,
            "target": "objects",
            "time-amount": 45,
            "time-unit": "DAYS"
          },
          {
            "action": "ARCHIVE",
            "is-enabled": true,
            "name": "Move-to-Archive-Rule",
            "object-name-filter": null,
            "target": "objects",
            "time-amount": 90,
            "time-unit": "DAYS"
          }
    ]'

    次の例では、以前のオブジェクト・バージョンを240日後にアーカイブ層から削除するライフサイクル・ポリシー・ルールを作成または置換します。

    oci os object-lifecycle-policy put --bucket-name MyArchiveTierBucket --items
    '[
        {
            "action": "DELETE", 
            "is-enabled": true, 
            "name": "Delete-from-Archive-Rule", 
            "object-name-filter": null,
            "target": "previous-object-versions",
            "time-amount": 240, 
            "time-unit": "DAYS"
          }
    ]'

    次の例では、コミットされていないか失敗したマルチパート・アップロードを5日後にすべて削除するライフサイクル・ポリシー・ルールを作成または置換します:

    oci os object-lifecycle-policy put --bucket-name MyBucket --items
    '[
        {
            "action": "ABORT", 
            "is-enabled": true, 
            "name": "Delete-Failed-Multipart-Uploads-Rule", 
            "object-name-filter": null,
            "target": "multipart-uploads",
            "time-amount": 5, 
            "time-unit": "DAYS"
          }
    ]'

    itemsオプションを使用して、ファイル内のJSONキー/値ペアを渡すことができます。例:

    oci os object-lifecycle-policy put --bucket-name MyStandardTierBucket --file /path/to/file/filename
    Windowsの使用

    Windowsで、複合入力をJSON文字列としてCLIに渡すには、ブロック全体を二重引用符で囲む必要があります。ブロック内では、キーと値の文字列の各二重引用符は、バックスラッシュ(\)文字でエスケープする必要があります。

    例:

    oci os object-lifecycle-policy put --bucket-name MyStandardTierBucket --items "[{\"action\":\"ARCHIVE\",\"isEnabled\":true,\"name\":\"move-to-Archive-rule\",\"target\":\"previous-object-versions\",\"timeAmount\":180,\"timeUnit\":\"DAYS\"}]"

    CLIコマンドのパラメータおよび値の完全なリストは、CLIコマンド・リファレンスを参照してください。

  • PutObjectLifecyclePolicy操作を実行して、バケットのオブジェクト・ライフサイクル・ポリシーを作成します。