INTEGRITY Dokumentace

Životní cyklus objektů

Životní cyklus objektů určuje dobu uchování objektů nahraných do vašeho bucketu a umožňuje nastavit, kdy mají objekty přejít z úložiště Standard do úložiště Infrequent Access.

Lifecycle konfigurace je sada lifecycle pravidel, která definují akce použité na objekty během jejich životnosti.

Můžete si například vytvořit pravidlo životního cyklu objektu, které objekty po 90 dnech smaže, nebo nastavit pravidlo, které objekty po 30 dnech převede do úložiště Infrequent Access.

Chování

Nakonfigurujte pravidla životního cyklu pro svůj bucket

Když vytváříte pravidlo životního cyklu objektu, můžete určit, na který prefix se má vztahovat.

Dashboard

  1. V dashboardu Cloudflare přejděte na Objektové úložiště R2 stránce.

    Přejděte na Přehled ↗
  2. V seznamu vyhledejte a vyberte svůj bucket.

  3. Na stránce bucketu vyberte Nastavení.

  4. V části Pravidla životního cyklu objektů, vyberte Přidání pravidla.

  5. Vyplňte pole pro nové pravidlo.

  6. Až budete hotovi, vyberte Uložit změny.

Wrangler

  1. Nainstalujte npm.
  2. Nainstalujte Wrangler, CLI nástroj vývojářské platformy.
  3. Přihlaste se do Wrangleru pomocí wrangler login příkaz.
  4. Pravidlo životního cyklu přidáte do bucketu spuštěním r2 bucket lifecycle add příkaz.
npx wrangler r2 bucket lifecycle add <BUCKET_NAME> [OPTIONS]

Celou konfiguraci životního cyklu bucketu můžete alternativně nastavit ze souboru JSON pomocí r2 bucket lifecycle set příkaz.

npx wrangler r2 bucket lifecycle set <BUCKET_NAME> --file <FILE_PATH>

Soubor JSON by měl mít formát těla požadavku put object lifecycle configuration API.

S3 API

Níže je uveden příklad konfigurace životního cyklu (souboru pravidel životního cyklu) s různými sadami pravidel pro různé možné případy použití.

Nakonfigurujte klienta S3 pro práci s R2
const client = new S3({
	endpoint: "https://<account_id>.r2.cloudflarestorage.com",
	credentials: {
		accessKeyId: "<access_key_id>",
		secretAccessKey: "<access_key_secret>",
	},
	region: "auto",
});
Nastavení konfigurace životního cyklu bucketu
await client
	.putBucketLifecycleConfiguration({
		Bucket: "testBucket",
		LifecycleConfiguration: {
			Rules: [
				// Example: deleting objects on a specific date
				// Delete 2019 documents in 2024
				{
					ID: "Delete 2019 Documents",
					Status: "Enabled",
					Filter: {
						Prefix: "2019/",
					},
					Expiration: {
						Date: new Date("2024-01-01"),
					},
				},
				// Example: transitioning objects to Infrequent Access storage by age
				// Transition objects older than 30 days to Infrequent Access storage
				{
					ID: "Transition Objects To Infrequent Access",
					Status: "Enabled",
					Transitions: [
						{
							Days: 30,
							StorageClass: "STANDARD_IA",
						},
					],
				},
				// Example: deleting objects by age
				// Delete logs older than 90 days
				{
					ID: "Delete Old Logs",
					Status: "Enabled",
					Filter: {
						Prefix: "logs/",
					},
					Expiration: {
						Days: 90,
					},
				},
				// Example: abort all incomplete multipart uploads after a week
				{
					ID: "Abort Incomplete Multipart Uploads",
					Status: "Enabled",
					AbortIncompleteMultipartUpload: {
						DaysAfterInitiation: 7,
					},
				},
				// Example: abort user multipart uploads after a day
				{
					ID: "Abort User Incomplete Multipart Uploads",
					Status: "Enabled",
					Filter: {
						Prefix: "useruploads/",
					},
					AbortIncompleteMultipartUpload: {
						// For uploads matching the prefix, this rule will take precedence
						// over the one above due to its earlier expiration.
						DaysAfterInitiation: 1,
					},
				},
			],
		},
	})
	.promise();

Získání pravidel životního cyklu pro váš bucket

Wrangler

Chcete-li získat seznam pravidel životního cyklu přiřazených k vašemu bucketu, spusťte r2 bucket lifecycle list příkaz.

npx wrangler r2 bucket lifecycle list <BUCKET_NAME>

S3 API

import S3 from "aws-sdk/clients/s3.js";

// Configure the S3 client to talk to R2.
const client = new S3({
	endpoint: "https://<account_id>.r2.cloudflarestorage.com",
	credentials: {
		accessKeyId: "<access_key_id>",
		secretAccessKey: "<access_key_secret>",
	},
	region: "auto",
});

// Get lifecycle configuration for bucket
console.log(
	await client
		.getBucketLifecycleConfiguration({
			Bucket: "bucketName",
		})
		.promise(),
);

Odstranění pravidel životního cyklu z bucketu

Dashboard

  1. V dashboardu Cloudflare přejděte na Objektové úložiště R2 stránce.

    Přejděte na Přehled ↗
  2. V seznamu vyhledejte a vyberte svůj bucket.

  3. Na stránce bucketu vyberte Nastavení.

  4. V části Pravidla životního cyklu objektů, vyberte pravidla, která chcete odstranit.

  5. Až budete hotovi, vyberte Odstranit pravidlo (pravidla).

Wrangler

Chcete-li z bucketu odstranit konkrétní pravidlo životního cyklu, spusťte r2 bucket lifecycle remove příkaz.

npx wrangler r2 bucket lifecycle remove <BUCKET_NAME> --id <RULE_ID>

S3 API

import S3 from "aws-sdk/clients/s3.js";

// Configure the S3 client to talk to R2.
const client = new S3({
	endpoint: "https://<account_id>.r2.cloudflarestorage.com",
	credentials: {
		accessKeyId: "<access_key_id>",
		secretAccessKey: "<access_key_secret>",
	},
	region: "auto",
});

// Delete lifecycle configuration for bucket
await client
	.deleteBucketLifecycle({
		Bucket: "bucketName",
	})
	.promise();