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协议的对象存储服务连接信息对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 booleanequals(Object obj)比较两个对象是否相同。StringgetAccessKeyID()返回对象存储桶的访问凭证:用于身份验证的访问密钥 ID。StringgetBucket()返回对象存储桶(存储段)的名称。StringgetEndPoint()返回对象存储服务的的访问地址(ENDPOINT)。Map<String,String>getOptions()返回对象存储服务连接的选项信息。StringgetProvider()返回云存储服务的提供者。StringgetRegion()返回对象存储服务的区域。StringgetSecretAccessKey()返回对象存储桶的访问凭证:与CloudStorageConnectionInfoS3.setAccessKeyID(String)方法设置的ID关联的访问密钥。StringgetSessionToken()返回对象存储桶的临时访问凭证的会话令牌。voidsetAccessKeyID(String userName)设置对象存储桶的访问凭证:用于身份验证的访问密钥 ID。voidsetBucket(String bucket)设置对象存储桶(存储段)的名称。voidsetEndPoint(String endPoint)设置对象存储服务的访问地址(ENDPOINT),支持域名和“IP+端口”两种地址形式,例如,“IP+端口”形式:127.111.222.111:9000或域名形式:s3.amazonaws.com。voidsetOptions(Map<String,String> options)设置对象存储服务连接的选项信息。voidsetProvider(String provider)设置云存储服务的提供者。voidsetRegion(String region)设置对象存储服务的区域。voidsetSecretAccessKey(String password)设置对象存储桶的访问凭证:与CloudStorageConnectionInfoS3.setAccessKeyID(String)方法设置的ID关联的访问密钥。voidsetSessionToken(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表示不同。
- 抛出:
NullPointerException- 参与比较的对象为空。
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.