public function testParseNullXml() { $lifecycleConfig = new LifecycleConfig(); $lifecycleConfig->parseFromXml($this->nullLifecycle); $this->assertEquals($this->cleanXml($lifecycleConfig->serializeToXml()), $this->cleanXml($this->nullLifecycle)); $this->assertEquals(0, count($lifecycleConfig->getRules())); }
/** * 解析Lifestyle数据 * * @return LifecycleConfig */ protected function parseDataFromResponse() { $content = $this->rawResponse->body; $config = new LifecycleConfig(); $config->parseFromXml($content); return $config; }
/** * 设置bucket的生命周期配置 * * @param OssClient $ossClient OssClient实例 * @param string $bucket 存储空间名称 * @return null */ function putBucketLifecycle($ossClient, $bucket) { $lifecycleConfig = new LifecycleConfig(); $actions = array(); $actions[] = new LifecycleAction(OssClient::OSS_LIFECYCLE_EXPIRATION, OssClient::OSS_LIFECYCLE_TIMING_DAYS, 3); $lifecycleRule = new LifecycleRule("delete obsoleted files", "obsoleted/", "Enabled", $actions); $lifecycleConfig->addRule($lifecycleRule); $actions = array(); $actions[] = new LifecycleAction(OssClient::OSS_LIFECYCLE_EXPIRATION, OssClient::OSS_LIFECYCLE_TIMING_DATE, '2022-10-12T00:00:00.000Z'); $lifecycleRule = new LifecycleRule("delete temporary files", "temporary/", "Enabled", $actions); $lifecycleConfig->addRule($lifecycleRule); try { $ossClient->putBucketLifecycle($bucket, $lifecycleConfig); } catch (OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } print __FUNCTION__ . ": OK" . "\n"; }
public function testBucket() { $lifecycleConfig = new LifecycleConfig(); $actions = array(); $actions[] = new LifecycleAction("Expiration", "Days", 3); $lifecycleRule = new LifecycleRule("delete obsoleted files", "obsoleted/", "Enabled", $actions); $lifecycleConfig->addRule($lifecycleRule); $actions = array(); $actions[] = new LifecycleAction("Expiration", "Date", '2022-10-12T00:00:00.000Z'); $lifecycleRule = new LifecycleRule("delete temporary files", "temporary/", "Enabled", $actions); $lifecycleConfig->addRule($lifecycleRule); try { $this->ossClient->putBucketLifecycle($this->bucket, $lifecycleConfig); } catch (OssException $e) { $this->assertTrue(false); } try { Common::waitMetaSync(); $lifecycleConfig2 = $this->ossClient->getBucketLifecycle($this->bucket); $this->assertEquals($lifecycleConfig->serializeToXml(), $lifecycleConfig2->serializeToXml()); } catch (OssException $e) { $this->assertTrue(false); } try { Common::waitMetaSync(); $this->ossClient->deleteBucketLifecycle($this->bucket); } catch (OssException $e) { $this->assertTrue(false); } try { Common::waitMetaSync(); $lifecycleConfig3 = $this->ossClient->getBucketLifecycle($this->bucket); $this->assertNotEquals($lifecycleConfig->serializeToXml(), $lifecycleConfig3->serializeToXml()); } catch (OssException $e) { $this->assertTrue(false); } }
/** * 设置Bucket的Lifecycle配置 * * @param string $bucket bucket名称 * @param LifecycleConfig $lifecycleConfig Lifecycle配置类 * @param array $options * @throws OssException * @return null */ public function putBucketLifecycle($bucket, $lifecycleConfig, $options = NULL) { $this->precheckCommon($bucket, NULL, $options, false); $options[self::OSS_BUCKET] = $bucket; $options[self::OSS_METHOD] = self::OSS_HTTP_PUT; $options[self::OSS_OBJECT] = '/'; $options[self::OSS_SUB_RESOURCE] = 'lifecycle'; $options[self::OSS_CONTENT_TYPE] = 'application/xml'; $options[self::OSS_CONTENT] = $lifecycleConfig->serializeToXml(); $response = $this->auth($options); $result = new PutSetDeleteResult($response); return $result->getData(); }