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

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

    1. 「バケット」リスト・ページで、操作するオブジェクト・ストレージ・バケットを選択します。リスト・ページまたはバケットの検索に関するヘルプが必要な場合は、バケットのリストを参照してください。
    2. バケットの詳細ページで、「ポリシー」を選択し、「ライフサイクル・ポリシー・ルール」セクションを見つけます。
      すべてのライフサイクル・ポリシー・ルールが表に表示されます。
    3. 「ルールの作成」を選択します。
      「ライフサイクル・ルールの作成」パネルが開きます。

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

    4. 次の情報を入力します。
      • 名前: 名前を入力するか、デフォルトのシステム名を受け入れます。現在の年、月、日および時刻を反映するルール名が生成されます(たとえば、lifecycle-rule-20190321-1559)。この名前を変更する場合は、文字、数字、ダッシュ、アンダースコアおよびピリオドを使用します。
      • ターゲット: ライフサイクル・ルールが適用するターゲットを選択します:
        • オブジェクト・バージョニングが無効になっている場合は、「オブジェクト」または「コミットされていないマルチパート・アップロード」を選択します。
        • オブジェクト・バージョニングが有効化または一時停止されている場合は、「オブジェクトの最新バージョン」「オブジェクトの最新バージョン」または「コミットされていないマルチパーツ・アップロード」を選択します。
      • ライフサイクル処理: 次の処理のいずれかを選択します。
        • ルール・ターゲットが「オブジェクト」「最新バージョンのオブジェクト」または「以前のバージョンのオブジェクト」の場合は、「アーカイブに移動」、「頻度の低いアクセスに移動」または「削除」を選択します。バケットで自動階層化が有効になっている場合、「頻度の低いアクセス権に移動」は選択不可です。
        • ルール・ターゲットが「コミットされていないマルチパート・アップロード」の場合、「削除」が唯一のオプションで、デフォルトで選択されます。
      • 日数: 指定されたアクションが実行されるまでの日数を入力します。
      ノート

      ルールによって以前のオブジェクト・バージョンをアーカイブまたは削除する場合、日数のカウントダウンは、オブジェクト・バージョンが最新のオブジェクト・バージョンから以前のオブジェクト・バージョンにいつ遷移したかに基づきます。この時間は、オブジェクトの以前の最新バージョンの「最終変更」時刻を参照して判断できます。
    5. 「状態」スイッチを使用して、ルールの作成後にルールを有効化するか無効化するかを指定します。
    6. ルール・ターゲットが「オブジェクト」「オブジェクトの最新バージョン」または「オブジェクトの旧バージョン」の場合は、オプションで1つ以上のオブジェクト名フィルタを追加して、ライフサイクル・ルールを適用するオブジェクトを指定することもできます。パターン一致を使用して、オブジェクトまたはオブジェクト・バージョンを選択できます。オブジェクト名フィルタが指定されていない場合、ルールはバケット内のすべてのオブジェクトに適用されます。
      オブジェクト名フィルタを作成するには:
      1. 「フィルタの追加」を選択します。
      2. 「フィルタ・タイプの選択」を選択します。
      3. 「フィルタの値」を入力します。
    7. 「ルールの作成」を選択します。
      ヒント

      目的のライフサイクル・ポリシー・ルールの「アクション」メニューから、「有効化」または「無効化」を選択してルールを有効化または無効化します。
    ルールが「ライフサイクル・ポリシー・ルール」リストに表示されます。
  • バケットのオブジェクト・ライフサイクル・ポリシーを作成するには、oci os object-lifecycle-policy putコマンドと必要なパラメータを使用します:

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

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

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

    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\"}]"
  • PutObjectLifecyclePolicy操作を実行して、バケットのオブジェクト・ライフサイクル・ポリシーを作成します。