## Uses of Interface
net.snowflake.client.jdbc.cloud.storage.SnowflakeStorageClient

Packages that use SnowflakeStorageClient
net.snowflake.client.jdbc
net.snowflake.client.jdbc.cloud.storage

### Uses of SnowflakeStorageClient in net.snowflake.client.jdbc

Methods in net.snowflake.client.jdbc with parameters of type SnowflakeStorageClient

`static Callable<Void>`

SnowflakeFileTransferAgent.`getDownloadFileCallable(StageInfo stage, String srcFilePath, String localLocation, Map<String,net.snowflake.client.jdbc.SnowflakeFileTransferAgent.FileMetadata> fileMetadataMap, SnowflakeStorageClient client, SFSession connection, String command, int parallel, net.snowflake.common.core.RemoteStoreFileEncryptionMaterial encMat, String presignedUrl)`
A callable that can be executed in a separate thread using executor service.

`static Callable<Void>`

SnowflakeFileTransferAgent.`getUploadFileCallable(StageInfo stage, String srcFilePath, net.snowflake.client.jdbc.SnowflakeFileTransferAgent.FileMetadata metadata, SnowflakeStorageClient client, SFSession connection, String command, InputStream inputStream, boolean sourceFromStream, int parallel, File srcFile, net.snowflake.common.core.RemoteStoreFileEncryptionMaterial encMat)`
A callable that can be executed in a separate thread using exeuctor service.

`static void` SnowflakeFileTransferAgent.`renewExpiredToken(SFSession connection, String command, SnowflakeStorageClient client)` This static method is called when we are handling an expired token exception It retrieves a fresh token from GS and then calls .renew() on the storage client to refresh itself with the new token

### Uses of SnowflakeStorageClient in net.snowflake.client.jdbc.cloud.storage

Classes in net.snowflake.client.jdbc.cloud.storage that implement SnowflakeStorageClient
`class` `SnowflakeAzureClient` Encapsulates the Azure Storage client and all Azure Storage operations and logic
`class` `SnowflakeGCSClient` Encapsulates the GCS Storage client and all GCS operations and logic
`class` `SnowflakeS3Client` Wrapper around AmazonS3Client.

Methods in net.snowflake.client.jdbc.cloud.storage that return SnowflakeStorageClient
`SnowflakeStorageClient` StorageClientFactory.`createClient(StageInfo stage, int parallel, net.snowflake.common.core.RemoteStoreFileEncryptionMaterial encMat)` Creates a storage client based on the value of stageLocationType

Methods in net.snowflake.client.jdbc.cloud.storage with parameters of type SnowflakeStorageClient
`static CipherInputStream` EncryptionProvider.`encrypt(StorageObjectMetadata meta, long originalContentLength, InputStream src, net.snowflake.common.core.RemoteStoreFileEncryptionMaterial encMat, SnowflakeStorageClient client)`