com.supermap.data
类 CloudStorageConnectionInfoS3
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.data.CloudStorageConnectionInfo
-
- com.supermap.data.CloudStorageConnectionInfoS3
-
- 所有已实现的接口:
- IDisposable
- 直接已知子类:
- CloudStorageConnectionInfoAlibabaCloudOSS, CloudStorageConnectionInfoAlibabaCloudOSSStreaming, CloudStorageConnectionInfoS3Streaming
public class CloudStorageConnectionInfoS3 extends CloudStorageConnectionInfo
兼容 AWS S3协议的对象存储服务连接信息,包含对象存储服务地址、对象存储桶及其访问凭证等必要信息。
-
-
构造器概要
构造器 构造器和说明 CloudStorageConnectionInfoS3(String name)
创建兼容 AWS S3协议的对象存储服务连接信息对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 boolean
equals(Object obj)
比较两个对象是否相同。String
getAccessKeyID()
返回对象存储桶的访问凭证:用于身份验证的访问密钥 ID。String
getBucket()
返回对象存储桶(存储段)的名称。String
getEndPoint()
返回对象存储服务的的访问地址(ENDPOINT)。Map<String,String>
getOptions()
返回对象存储服务连接的选项信息。String
getProvider()
返回云存储服务的提供者。String
getRegion()
返回对象存储服务的区域。String
getSecretAccessKey()
返回对象存储桶的访问凭证:与CloudStorageConnectionInfoS3.setAccessKeyID(String)
方法设置的ID关联的访问密钥。String
getSessionToken()
返回对象存储桶的临时访问凭证的会话令牌。void
setAccessKeyID(String userName)
设置对象存储桶的访问凭证:用于身份验证的访问密钥 ID。void
setBucket(String bucket)
设置对象存储桶(存储段)的名称。void
setEndPoint(String endPoint)
设置对象存储服务的访问地址(ENDPOINT),支持域名和“IP+端口”两种地址形式,例如,“IP+端口”形式:127.111.222.111:9000或域名形式:s3.amazonaws.com。void
setOptions(Map<String,String> options)
设置对象存储服务连接的选项信息。void
setProvider(String provider)
设置云存储服务的提供者。void
setRegion(String region)
设置对象存储服务的区域。void
setSecretAccessKey(String password)
设置对象存储桶的访问凭证:与CloudStorageConnectionInfoS3.setAccessKeyID(String)
方法设置的ID关联的访问密钥。void
setSessionToken(String token)
设置对象存储桶的临时访问凭证的会话令牌。
-
-
-
构造器详细资料
-
CloudStorageConnectionInfoS3
public CloudStorageConnectionInfoS3(String name)
创建兼容 AWS S3协议的对象存储服务连接信息对象。- 参数:
name
- 连接信息的名称。- 抛出:
IllegalArgumentException
- 连接信息的名称为空。IllegalArgumentException
- 连接信息的名称包含了斜杠(“/”或“\”)。- 从以下版本开始:
- 11.2.0
-
-
方法详细资料
-
getEndPoint
public String getEndPoint()
返回对象存储服务的的访问地址(ENDPOINT)。- 返回:
- 返回对象存储服务的的访问地址(ENDPOINT)。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
setEndPoint
public void setEndPoint(String endPoint)
设置对象存储服务的访问地址(ENDPOINT),支持域名和“IP+端口”两种地址形式,例如,“IP+端口”形式:127.111.222.111:9000或域名形式:s3.amazonaws.com。- 参数:
endPoint
- 对象存储服务的访问地址(ENDPOINT),支持域名和“IP+端口”两种地址形式。参数值书写示例:域名形式:obs.cn-north-4.myhuaweicloud.com;“IP+端口”形式:1.1.1.1:80 (采用HTTP协议访问)或1.1.1.1:443 (采用HTTPS协议访问),关于端口的说明,S3对象存储服务器可能提供了HTTP和HTTPS两种访问协议,需要结合“AWS_HTTPS”选项(CloudStorageConnectionInfoS3.setOptions(Map)
setOptions方法设置的选项)指定的协议,指定正确的端口号。- 抛出:
IllegalArgumentException
- 输入的服务地址为空。IllegalStateException
- 对象已被释放。- 从以下版本开始:
- 11.2.0
-
getRegion
public String getRegion()
返回对象存储服务的区域。- 返回:
- 对象存储服务的区域。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
setRegion
public void setRegion(String region)
设置对象存储服务的区域。- 参数:
region
- 对象存储服务的区域。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
getBucket
public String getBucket()
返回对象存储桶(存储段)的名称。- 返回:
- 返回对象存储桶(存储段)的名称。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
setBucket
public void setBucket(String bucket)
设置对象存储桶(存储段)的名称。- 参数:
bucket
- 对象存储桶(存储段)的名称。- 抛出:
IllegalArgumentException
- 输入的桶名(存储段)为空。IllegalStateException
- 对象已被释放。- 从以下版本开始:
- 11.2.0
-
getSessionToken
public String getSessionToken()
返回对象存储桶的临时访问凭证的会话令牌。- 返回:
- 返回对象存储桶的临时访问凭证的会话令牌。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
setSessionToken
public void setSessionToken(String token)
设置对象存储桶的临时访问凭证的会话令牌。通过该方法设置令牌后,
CloudStorageConnectionInfoS3.setAccessKeyID(String)
和CloudStorageConnectionInfoS3.setSecretAccessKey(String)
方法设置的对象存储桶的访问凭证无效。- 参数:
token
- 对象存储桶的临时访问凭证的会话令牌。- 抛出:
IllegalArgumentException
- 输入的令牌为空。IllegalStateException
- 对象已被释放。- 从以下版本开始:
- 11.2.0
-
getAccessKeyID
public String getAccessKeyID()
返回对象存储桶的访问凭证:用于身份验证的访问密钥 ID。- 返回:
- 返回对象存储桶的访问凭证:用于身份验证的访问密钥 ID。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
setAccessKeyID
public void setAccessKeyID(String userName)
设置对象存储桶的访问凭证:用于身份验证的访问密钥 ID。如果使用的是临时凭证,则必须设置会话令牌(通过setSessionToken 方法设置
)。- 参数:
userName
- 对象存储桶的访问凭证:用于身份验证的访问密钥 ID。- 抛出:
IllegalArgumentException
- 输入的账号名称为空。IllegalStateException
- 对象已被释放。- 从以下版本开始:
- 11.2.0
-
getSecretAccessKey
public String getSecretAccessKey()
返回对象存储桶的访问凭证:与CloudStorageConnectionInfoS3.setAccessKeyID(String)
方法设置的ID关联的访问密钥。- 返回:
- 返回对象存储桶的访问凭证:与
CloudStorageConnectionInfoS3.setAccessKeyID(String)
方法设置的ID关联的访问密钥。 - 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
setSecretAccessKey
public void setSecretAccessKey(String password)
设置对象存储桶的访问凭证:与CloudStorageConnectionInfoS3.setAccessKeyID(String)
方法设置的ID关联的访问密钥。如果使用的是临时凭证,则必须设置会话令牌(通过setSessionToken 方法设置
)。- 参数:
password
- 对象存储桶的访问凭证:与CloudStorageConnectionInfoS3.setAccessKeyID(String)
方法设置的ID关联的访问密钥。- 抛出:
IllegalArgumentException
- 输入的密码为空。IllegalStateException
- 对象已被释放。- 从以下版本开始:
- 11.2.0
-
getOptions
public Map<String,String> getOptions()
返回对象存储服务连接的选项信息。- 返回:
- 返回对象存储服务连接的选项信息。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
setOptions
public void setOptions(Map<String,String> options)
设置对象存储服务连接的选项信息。访问对象存储服务所必须的服务地址、访问凭证等可通过
setEndPoint
、setAccessKeyID
、setSecretAccessKey
相关方法完成配置。此外,还有一些可选配置,需要根据实际情况通过该方法进行配置。对象存储服务连接的选项信息为一个key与value的对照表,其中key为选项名称,value为选项的值。下面列举常用的选项信息(下文以key=value的形式展示选项和选项值内容)。
- AWS_HTTPS=[YES/NO]:“AWS_HTTPS”值为NO,将使用HTTP协议访问S3中的资源;“AWS_HTTPS” 值为YES,将使用HTTPS协议访问S3中的资源。如果未添加“AWS_HTTPS”选项,默认使用HTTPS协议访问S3中的资源。“AWS_HTTPS”值如何设置,需要确认S3对象存储服务器所配置支持的请求协议。
- AWS_NO_SIGN_REQUEST=[YES/NO]:对象存储桶身份验证方式(是否禁用请求签名),适用于具有公共访问权限的存储桶。如果为YES,可匿名连接到不需要身份验证访问权限的存储桶;如果访问对象存储桶必需身份验证(AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY),则“AWS_NO_SIGN_REQUEST”变量值设置为NO。
- AWS_VIRTUAL_HOSTING=[TRUE/FALSE]:访问对象存储桶(Bucket)的访问方式,S3 支持虚拟托管类型(Virtual Hosted)和路径类型(Path) URL 访问存储桶。如果AWS_VIRTUAL_HOSTING变量为TRUE(默认值),为虚拟托管类型,是指将Bucket置于Host Header的访问方式,通过虚拟Bucket主机名标识Bucket,例如:mybucket.cname.domain.com,即“桶名+HostName”。如果AWS_VIRTUAL_HOSTING变量为FALSE,为路径类型,表示将Bucket标识为URI中的顶级目录,例如:cname.domain.com/mybucket。
- 参数:
options
- 连接的选项信息。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
getProvider
public String getProvider()
返回云存储服务的提供者。- 返回:
- 云存储服务的提供者。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
setProvider
public void setProvider(String provider)
设置云存储服务的提供者。- 参数:
provider
- 云存储服务的提供者。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0
-
equals
public boolean equals(Object obj)
比较两个对象是否相同。(比较S3兼容的对象存储服务连接信息的EndPoint、Bucket、SessionToken、AccessKeyID、SecretAccessKey、Options、Path)- 覆盖:
equals
在类中CloudStorageConnectionInfo
- 参数:
obj
- 参与比较的对象。- 返回:
- 返回比较结果,true表示相同,false表示不同。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.