为了确保访问OSS的请求来自合法的用户或应用程序,并正确初始化OSS Connector for AI/ML,您需要进行相应的配置。
前提条件
已安装OSS Connector。具体操作,请参见安装OSS Connector for AI/ML。
配置访问凭证
创建访问凭证配置文件。
mkdir -p /root/.alibabacloud && touch /root/.alibabacloud/credentials
添加配置并保存。
结构体示例:
{ "AccessKeyId": "<Access-key-id>", "AccessKeySecret": "<Access-key-secret>", "SecurityToken": "<Security-Token>", "Expiration": "2024-08-02T15:04:05Z" }
具体配置项说明请参见下表。
配置项
是否必填
示例值
说明
AccessKeyId
是
STS.L4aB******************
阿里云账号或者RAM用户的AccessKey ID和AccessKey Secret。
使用临时访问令牌进行权限配置时,请设置为临时访问凭证的AccessKey ID和AccessKey Secret。
AccessKeySecret
是
At32************************
SecurityToken
否
STS.6MC2***************************************
临时访问令牌。当使用从STS获取的临时访问凭证访问OSS时,需要设置此参数。
使用阿里云账号或者RAM用户的AccessKey ID和AccessKey Secret进行权限配置时,此配置应设置为空。
Expiration
否
2024-08-02T15:04:05Z
鉴权信息过期时间,鉴权时间过期后OSS Connector会重新读取鉴权信息,Expiration为空表示永不过期。
使用临时访问令牌进行权限配置时,建议设置具体过期时间。
使用阿里云账号或者RAM用户的AccessKey ID和AccessKey Secret进行权限配置时,此配置应设置为空。
使用AccessKey ID和AccessKey Secret作为访问凭证的配置示例:
示例中的
<Access-key-id>
、<Access-key-secret>
请分别替换为RAM用户的AccessKey ID、AccessKeySecret。如何创建AccessKey ID和AccessKeySecret请参见创建AccessKey。{ "AccessKeyId": "LTAI************************", "AccessKeySecret": "At32************************" }
使用临时访问凭证的配置示例:
说明在生产环境中长期使用的情况下,为确保数据的安全性,建议采用临时访问授权的方式,以避免直接暴露AK和SK。如果要进行临时访问授权, 需获取临时访问凭证,具体内容请参见使用STS临时访问凭证访问OSS。获取到临时访问凭证后将<Access-key-id>、<Access-key-secret>和<Security-Token>分别替换为临时访问凭证的AccessKey ID、AccessKey Secret和SecurityToken。
{ "AccessKeyId": "STS.L4aB******************, "AccessKeySecret": "wyLTSm*************************", "SecurityToken": "************", "Expiration": "2024-08-15T15:04:05Z" }
执行
chmod 400 /root/.alibabacloud/credentials
命令设置credentials
文件只读权限保障AK、SK密钥安全。
配置OSS Connector
创建OSS Connector配置文件。
mkdir -p /etc/oss-connector/ && touch /etc/oss-connector/config.json
添加配置并保存。
正常情况下使用此默认配置即可。
{ "logLevel": 1, "logPath": "/var/log/oss-connector/connector.log", "auditPath": "/var/log/oss-connector/audit.log", "datasetConfig": { "prefetchConcurrency": 24, "prefetchWorker": 2 }, "checkpointConfig": { "prefetchConcurrency": 24, "prefetchWorker": 4, "uploadConcurrency": 64 } }
具体配置项说明请参见下表;如需进行配置调整,请先仔细阅读说明后再进行操作。
配置项
是否必填
示例值
说明
logLevel
否
1
日志记录级别。默认为INFO级别,实际使用时建议调整为WARN级别。
取值范围为0、1、2、3,其中0表示Debug,1表示INFO,2表示WARN,3表示ERROR。
logPath
否
/var/log/oss-connector/connector.log
connector日志路径。默认路径为
/var/log/oss-connector/connector.log
。auditPath
否
/var/log/oss-connector/audit.log
connector IO的审计日志,记录延迟大于100毫秒的读写请求。默认路径为
/var/log/oss-connector/audit.log
。DatasetConfig
prefetchConcurrency
否
24
使用Dataset从OSS预取数据时的并发数,默认为24。
prefetchWorker
否
2
使用Dataset从OSS预取可使用vCPU数,默认为2。
checkpointConfig
prefetchConcurrency
否
24
使用checkpoint read从OSS预取数据时的并发数,默认为24。
prefetchWorker
否
4
使用checkpoint read从OSS预取可使用vCPU数,默认为4。
uploadConcurrency
否
64
使用checkpoint write上传数据时的并发数,默认为64。
相关文档
安装并配置OSS Connector for AI/ML后,您可以在Pytorch训练任务中:
使用OssMapDataset构建适用于随机读取操作的映射式数据集。具体操作,请参见使用OSS中的数据构建适用于随机读取的映射式数据集。
使用OssIterableDataset构建适用于流式顺序访问的可迭代式数据集。具体操作,请参见使用OSS中的数据构建适用于流式顺序读取的迭代式数据集。
使用OssCheckpoint实现OSS中Checkpoint的读写操作。具体操作,请参见使用OssCheckpoint读写checkpoint文件。