Package net.snowflake.client.jdbc

## Class SnowflakeFileTransferMetadataV1

- java.lang.Object
- - net.snowflake.client.jdbc.SnowflakeFileTransferMetadataV1

All Implemented Interfaces:
  `Serializable`, `SnowflakeFileTransferMetadata`

    public class SnowflakeFileTransferMetadataV1
    extends Object
    implements SnowflakeFileTransferMetadata, Serializable

A class to manage metadata for upload or download files. It is introduced for distributed data processing. The typical use case is: 1. The cluster master has JDBC connection to the Snowflake and it can generate this object for the file transfer. 2. The cluster master node can transfer the object to cluster worker. 3. The cluster worker can upload or download data with the object without JDBC Connection.

NOTE: When this class is created, it only supports UPLOAD for GCS. It is created for Snowflake Spark Connector.

See Also:
  Serialized Form

### Constructor Summary

Constructors
`SnowflakeFileTransferMetadataV1​(String presignedUrl, String presignedUrlFileName, String encryptionMaterial_queryStageMasterKey, String encryptionMaterial_queryId, Long encryptionMaterial_smkId, SFBaseFileTransferAgent.CommandType commandType, StageInfo stageInfo)`

### Method Summary

All Methods Instance Methods Concrete Methods
`SFBaseFileTransferAgent.CommandType` `getCommandType()`
`net.snowflake.common.core.RemoteStoreFileEncryptionMaterial` `getEncryptionMaterial()`
`String` `getPresignedUrl()`
`String` `getPresignedUrlFileName()`
`StageInfo` `getStageInfo()`
`boolean` `isForOneFile()` Determine this metadata is for transferring one or multiple files.
`void` `setCommandType​(SFBaseFileTransferAgent.CommandType commandType)`
`void` `setEncryptionMaterial​(String encryptionMaterial_queryStageMasterKey, String encryptionMaterial_queryId, Long encryptionMaterial_smkId)`
`void` `setPresignedUrl​(String presignedUrl)`
`void` `setPresignedUrlFileName​(String presignedUrlFileName)`
`void` `setStageInfo​(StageInfo stageInfo)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SnowflakeFileTransferMetadataV1

    public SnowflakeFileTransferMetadataV1​(String presignedUrl,
                                           String presignedUrlFileName,
                                           String encryptionMaterial_queryStageMasterKey,
                                           String encryptionMaterial_queryId,
                                           Long encryptionMaterial_smkId,
                                           SFBaseFileTransferAgent.CommandType commandType,
                                           StageInfo stageInfo)

### Method Detail

#### isForOneFile

    public boolean isForOneFile()

Description copied from interface: `SnowflakeFileTransferMetadata`
Determine this metadata is for transferring one or multiple files.

Specified by:
  `isForOneFile` in interface `SnowflakeFileTransferMetadata`
Returns:
  return true if it is for transferring one file.

#### getPresignedUrl

    public String getPresignedUrl()

#### setPresignedUrl

    public void setPresignedUrl​(String presignedUrl)

#### getPresignedUrlFileName

    public String getPresignedUrlFileName()

#### setPresignedUrlFileName

    public void setPresignedUrlFileName​(String presignedUrlFileName)

#### getEncryptionMaterial

    public net.snowflake.common.core.RemoteStoreFileEncryptionMaterial getEncryptionMaterial()

#### setEncryptionMaterial

    public void setEncryptionMaterial​(String encryptionMaterial_queryStageMasterKey,
                                      String encryptionMaterial_queryId,
                                      Long encryptionMaterial_smkId)

#### getCommandType

    public SFBaseFileTransferAgent.CommandType getCommandType()

#### setCommandType

    public void setCommandType​(SFBaseFileTransferAgent.CommandType commandType)

#### getStageInfo

    public StageInfo getStageInfo()

#### setStageInfo

    public void setStageInfo​(StageInfo stageInfo)