Summary
Contains IO methods that are cloud specific.
Discussion
This class cannot be instantiated directly. An instance of this class is returned by the AIO object's cloud property.
Method Overview
Method | Explanation |
clearcache (path) | Clears in-memory directory listings, file properties, and BLOB region cache. Call this method when an external process updates folders or files in the cloud store that were previously accessed. |
getbucketname () | Gets the name of a connected bucket or container. |
getendpoint (path) | Gets the cloud endpoint specified in the connection. |
getfile (src, dst, {options}) | Downloads a file from the cloud. |
getmetadata (path, {domain}) | Gets the metadata of a file or folder. |
getobjectstorepath () | Gets the root path of the connection. |
getproperties (path) | Gets the header properties. |
getprovidername () | Gets the cloud provider name. |
getprovideroptions () | Gets the provider options specified in the connection. |
getregion () | Gets the cloud region specified in the connection. |
getsignedurl (path, expiry) |
Generates a temporary HTTP presigned URL. |
putfile (src, dst, {options}) | Uploads a file to cloud. |
setmetadata (path, {domain}, {metadata}, {options}) | Sets the metadata of a file or folder. |
validate ({certificate}, {stat}, {list}, {read}, {modify}, {path}) | Tests the cloud connection for various file operations. Available permissions may be granular depending on the server ACL configuration. |
Methods
clearcache (path)
Parameter | Explanation | Data Type |
path | The relative path from the current working directory or an absolute path (absolute vsi path for cloud). | String |
This method is only applicable to cloud stores.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.clearcache(r"aio")
getbucketname ()
Data Type | Explanation |
String | The name of the bucket or container. |
This method is only applicable to cloud stores.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.getbucketname()
getendpoint (path)
Parameter | Explanation | Data Type |
path | The relative path from the current working directory or an absolute path (absolute vsi path for cloud). | String |
Data Type | Explanation |
String | The cloud endpoint if available. |
This method is only applicable to cloud stores.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.getendpoint()
getfile (src, dst, {options})
Parameter | Explanation | Data Type |
src | The relative path from the current working directory or an absolute vsi cloud path. | String |
dst | The local, or target, path of the file. | String |
options | Specifies the options that will be used.
Syntax—RECURSIVE=[YES|NO], SYNC_STRATEGY=[TIMESTAMP|ETAG|OVERWRITE], NUM_THREADS=(integer) CHUNK_SIZE=(integer) [x-amz-*|x-goog-*|x-ms-*=(value)] Example—{'RECURSIVE':'YES', 'SYNC_STRATEGY':'OVERWRITE', 'NUM_THREADS':'10', 'CHUNK_SIZE':'8'} (The default value is None) | Dictionary |
Data Type | Explanation |
Boolean | True if the file download is successful; otherwise, False. |
This method is only applicable to cloud stores.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.getfile(r'utf8_test.json', r"c:\data\datafile.json")
getmetadata (path, {domain})
Parameter | Explanation | Data Type |
path | The relative path from the current working directory or an absolute path (absolute vsi path for cloud). | String |
domain | The metadata domain, for example, (https://gdal.org/api/cpl.html#_CPPv418VSIGetFileMetadataPKcPKc12CSLConstList). (The default value is None) | String |
Data Type | Explanation |
Dictionary | A dictionary of the metadata information. |
This method is only applicable to cloud stores.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.getmetadata(r'aio')
getobjectstorepath ()
Data Type | Explanation |
String | The vsi path to the object store. |
This method is only applicable to cloud stores.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.getobjectstorepath()
getproperties (path)
Parameter | Explanation | Data Type |
path | The relative path from the current working directory or an absolute path (absolute vsi path for cloud). | String |
Data Type | Explanation |
Dictionary | A dictionary of header properties. |
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.getproperties(r'aio')
getprovidername ()
Data Type | Explanation |
String | The cloud provider name. |
This method is only applicable to cloud stores.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.getprovidername()
getprovideroptions ()
Data Type | Explanation |
List | The provider options, if available. |
This method is only applicable for cloud stores.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.getprovideroptions()
getregion ()
Data Type | Explanation |
String | The cloud region, if available. |
This method is only applicable to cloud stores.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.getregion()
getsignedurl (path, expiry)
Parameter | Explanation | Data Type |
path | The relative path from the current working directory or an absolute path (absolute vsi path for cloud). | String |
expiry | The expiry time in seconds. | Integer |
Data Type | Explanation |
String | The HTTP signed URL. |
This method is only applicable to cloud stores.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.getsignedurl(r'data.json', 5)
putfile (src, dst, {options})
Parameter | Explanation | Data Type |
src | The local (source) path of the file. | String |
dst | The relative path from the current working directory or an absolute vsi cloud path. | String |
options | Specifies the options that will be used.
Syntax—RECURSIVE=[YES|NO], SYNC_STRATEGY=[TIMESTAMP|ETAG|OVERWRITE], NUM_THREADS=(integer) CHUNK_SIZE=(integer) [x-amz-*|x-goog-*|x-ms-*=(value)] Example—{'RECURSIVE':'YES', 'SYNC_STRATEGY':'OVERWRITE', 'NUM_THREADS':'10', 'CHUNK_SIZE':'8'} (The default value is None) | Dictionary |
Data Type | Explanation |
Boolean | True if the file upload is successful; otherwise, False. |
This method is only applicable for cloud.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.putfile(r"C:\data\data_file.json", r'data_folder\data_file_new.json')
setmetadata (path, {domain}, {metadata}, {options})
Parameter | Explanation | Data Type |
path | The relative path from the current working directory or an absolute path (absolute vsi path for cloud). | String |
domain | The metadata domain, for example, (https://gdal.org/api/cpl.html#_CPPv418VSISetFileMetadataPKc12CSLConstListPKc12CSLConstList). (The default value is None) | String |
metadata | The metadata that will be set. (The default value is None) | Dictionary |
options | The options that will be used to set the metadata. (The default value is None) | Dictionary |
Data Type | Explanation |
Boolean | True if the metadata is set successfully; otherwise, False. |
This method is only applicable to cloud stores.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.setmetadata(
r"cog.tif",
"HEADERS",
{
"x-amz-id-2": "HxM4BcALW+HnJ13owxzMpeQXXI59VKK3I9zujbqyLBCinCt6prnzKXR4Ixhb/AloFVJLGtuqKG7nSLCLaxObTw==",
"x-amz-request-id": "KYTDPC2WH2ZQK2D2",
"Date": "Tue, 13 Jun 2023 13:39:33 GMT",
"Last-Modified": "Wed, 16 Sep 2020 13:49:34 GMT",
"ETag": '"c220c099c46c60703de0c55763d04371"',
"x-amz-meta-s3b-last-modified": "20171213T210220Z",
"Content-Disposition": "attachment",
"Accept-Ranges": "bytes",
"Content-Range": "bytes 0-16383/4339079",
"Content-Type": "text/plain",
"Server": "AmazonS3",
"Content-Length": "4545",
},
)
validate ({certificate}, {stat}, {list}, {read}, {modify}, {path})
Parameter | Explanation | Data Type |
certificate | Verifies the SSL certificate and Online Certificate Status Protocol (OCSP) certificate check. | Boolean |
stat | Tests stat on the root container or connected folder. | Boolean |
list | Tests list directory access. | Boolean |
read | Tests read file permission | Boolean |
modify | Tests the write and delete permissions. If delete access is denied, a test file will remain on the cloud. | Boolean |
path | The path to the file that will be used for read test. If not provided, the first entry from the current directory listing is used. | String |
Data Type | Explanation |
List | Results of the test and a detailed error message if available. |
This method is only applicable for cloud.
cloud_io = AIO(r"C:\data\datacloud.acs")
cloud_io.cloud.validate(True, True, True, True)