当我在使用自定义容器部署的 sagemaker 中调用端点/批处理作业时,我想在 S3 中存储一些信息。例如,在这张图片中

在“部署/托管”中,我想将一些对象放入 S3 容器中,而不仅仅是读取 /opt/model
例如自带容器 R
在水管工.R 函数中,我想:
function(req) {
# Setup locations
prefix <- '/opt/ml'
model_path <- paste(prefix, 'model', sep='/')
# Bring in model file and factor levels
load(paste(model_path, 'mars_model.RData', sep='/'))
# Read in data
conn <- textConnection(gsub('\\\\n', '\n', req$postBody))
data <- read.csv(conn)
close(conn)
# Convert input to model matrix
scoring_X <- model.matrix(~., data, xlev=factor_levels)
####
SAVE OBJECT IN S3
#####
# Return prediction
return(paste(predict(mars_model, scoring_X, row.names=FALSE), collapse=','))}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?使用 aws.s3 连接到容器还是使用其他技术?
编辑:直接在容器内部连接的 aws.s3 …
如果我有:
mylist <- lapply(1:10, function(x) matrix(NA, nrow=2, ncol=2))
Run Code Online (Sandbox Code Playgroud)
例如,我想将列表中的第一个、第二个和第五个元素替换为:
mymatrix=cbind(c(1,1),c(1,1))
Run Code Online (Sandbox Code Playgroud)
我能做什么?我试过:
mylist[c(1,2,5)]=mymatrix
Run Code Online (Sandbox Code Playgroud)
但是我不能替换新矩阵,因为它是另一个列表,并且[[]]我只能访问一个元素。
我想我必须使用该lapply功能,但我不知道以哪种方式使用。
我创建了一个联合身份,其中包含:
当我尝试使用身份池 ID连接到:https : //cognito-idp.us-west-2.amazonaws.com/us-west-2 : XXXX-XXXXXXX-XXXX-XXXX-XXXX/.well-known/ jwks.json
我得到:
{"message":"1 validation error detected: Value 'us-west-2:XXXX-XXXXXXX-XXXX-XXXX-XXXX' at 'userPoolId' failed to satisfy constraint: Member must satisfy regular expression pattern: [\\w-]+_[0-9a-zA-Z]+"}
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用用户池 ID us-west-2_XXXXXXXXX https://cognito-idp.us-west-2.amazonaws.com/us-west-2_xxxxxxxxxxxxxxx/.well-known/jwks.json
{"message":"User pool us-west-2_ does not exist."}
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?