Skip to main content

folders

Creates, updates, deletes, gets or lists a folders resource.

Overview

Namefolders
TypeResource
Idgoogle.storage.folders

Fields

The following fields are returned by SELECT queries:

Successful response

NameDatatypeDescription
idstringThe ID of the folder, including the bucket name, folder name.
namestringThe name of the folder. Required if not specified by URL parameter.
bucketstringThe name of the bucket containing this folder.
createTimestring (date-time)The creation time of the folder in RFC 3339 format.
kindstringThe kind of item this is. For folders, this is always storage#folder. (default: storage#folder)
metagenerationstring (int64)The version of the metadata for this folder. Used for preconditions and for detecting changes in metadata.
pendingRenameInfoobjectOnly present if the folder is part of an ongoing rename folder operation. Contains information which can be used to query the operation status.
selfLinkstringThe link to this folder.
updateTimestring (date-time)The modification time of the folder metadata in RFC 3339 format.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectbucket, folderifMetagenerationMatch, ifMetagenerationNotMatchReturns metadata for the specified folder. Only applicable to buckets with hierarchical namespace enabled.
listselectbucketdelimiter, endOffset, pageSize, pageToken, prefix, startOffsetRetrieves a list of folders matching the criteria. Only applicable to buckets with hierarchical namespace enabled.
insertinsertbucketrecursiveCreates a new folder. Only applicable to buckets with hierarchical namespace enabled.
deletedeletebucket, folderifMetagenerationMatch, ifMetagenerationNotMatchPermanently deletes a folder. Only applicable to buckets with hierarchical namespace enabled.
renameexecbucket, sourceFolder, destinationFolderifSourceMetagenerationMatch, ifSourceMetagenerationNotMatchRenames a source folder to a destination folder. Only applicable to buckets with hierarchical namespace enabled.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
bucketstring
destinationFolderstring
folderstring
sourceFolderstring
delimiterstring
endOffsetstring
ifMetagenerationMatchstring (int64)
ifMetagenerationNotMatchstring (int64)
ifSourceMetagenerationMatchstring (int64)
ifSourceMetagenerationNotMatchstring (int64)
pageSizeinteger (int32)
pageTokenstring
prefixstring
recursiveboolean
startOffsetstring

SELECT examples

Returns metadata for the specified folder. Only applicable to buckets with hierarchical namespace enabled.

SELECT
id,
name,
bucket,
createTime,
kind,
metageneration,
pendingRenameInfo,
selfLink,
updateTime
FROM google.storage.folders
WHERE bucket = '{{ bucket }}' -- required
AND folder = '{{ folder }}' -- required
AND ifMetagenerationMatch = '{{ ifMetagenerationMatch }}'
AND ifMetagenerationNotMatch = '{{ ifMetagenerationNotMatch }}';

INSERT examples

Creates a new folder. Only applicable to buckets with hierarchical namespace enabled.

INSERT INTO google.storage.folders (
data__bucket,
data__id,
data__kind,
data__metageneration,
data__name,
data__selfLink,
data__createTime,
data__updateTime,
data__pendingRenameInfo,
bucket,
recursive
)
SELECT
'{{ bucket }}',
'{{ id }}',
'{{ kind }}',
'{{ metageneration }}',
'{{ name }}',
'{{ selfLink }}',
'{{ createTime }}',
'{{ updateTime }}',
'{{ pendingRenameInfo }}',
'{{ bucket }}',
'{{ recursive }}'
RETURNING
id,
name,
bucket,
createTime,
kind,
metageneration,
pendingRenameInfo,
selfLink,
updateTime
;

DELETE examples

Permanently deletes a folder. Only applicable to buckets with hierarchical namespace enabled.

DELETE FROM google.storage.folders
WHERE bucket = '{{ bucket }}' --required
AND folder = '{{ folder }}' --required
AND ifMetagenerationMatch = '{{ ifMetagenerationMatch }}'
AND ifMetagenerationNotMatch = '{{ ifMetagenerationNotMatch }}';

Lifecycle Methods

Renames a source folder to a destination folder. Only applicable to buckets with hierarchical namespace enabled.

EXEC google.storage.folders.rename 
@bucket='{{ bucket }}' --required,
@sourceFolder='{{ sourceFolder }}' --required,
@destinationFolder='{{ destinationFolder }}' --required,
@ifSourceMetagenerationMatch='{{ ifSourceMetagenerationMatch }}',
@ifSourceMetagenerationNotMatch='{{ ifSourceMetagenerationNotMatch }}';