-
Notifications
You must be signed in to change notification settings - Fork 247
Expand file tree
/
Copy pathlist-objects-over-10000.php
More file actions
56 lines (46 loc) · 1.68 KB
/
list-objects-over-10000.php
File metadata and controls
56 lines (46 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
/**
* Copyright 2012-2014 Rackspace US, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
require dirname(__DIR__) . '/../vendor/autoload.php';
use OpenCloud\Rackspace;
// 1. Instantiate a Rackspace client. You can replace {authUrl} with
// Rackspace::US_IDENTITY_ENDPOINT or similar
$client = new Rackspace('{authUrl}', array(
'username' => '{username}',
'apiKey' => '{apiKey}',
));
// 2. Obtain an Object Store service object from the client.
$objectStoreService = $client->objectStoreService(null, '{region}');
// 3. Get container.
$container = $objectStoreService->getContainer('{containerName}');
// 4. Get the list of objects
$objects = $container->objectList();
// 5. Create a list of all objects in the container
$containerObjects = array();
$latestFilename = '';
$batchCount = null;
while ($batchCount !== 0) {
$params = array(
'marker' => $latestFilename,
);
$objects = $container->objectList($params);
$batchCount = $objects->count();
foreach ($objects as $object) {
/** @var $object \OpenCloud\ObjectStore\Resource\DataObject **/
$latestFilename = $object->getName();
$containerObjects[] = $latestFilename;
}
}