為了確保訪問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檔案。