对于Azure Blob存储,我需要提供authentication values以及另一个名为x-ms-date
的标头。
library(httr)
container<-"https://preconstuff.blob.core.windows.net/?comp=list"
sak<-"Q8HvUVJLBJK+wkrIEG6LlsfFo19iDjneTwJxX/KXSnUCtTjgyyhYnH/5azeqa1bluGD94EcPcSRyBy2W2A/fHQ=="
login<-authenticate(user = "preconstuff",password = sak)
extras<-add_headers(`x-ms-date`=Sys.time())
如果我运行content(GET(container,config = login ))
,则表示未提供日期标题。
在同时使用对象login
和extras
方面,将它们作为列表放置似乎不起作用。
如果我更改extras
以包含身份验证组件(从userpwd
函数中获取authenticate
标头构造)
extras<-add_headers(httpauth =1, userpwd = paste0("preconstuff:", sak),
`x-ms-date`=as.character(Sys.time()))
然后运行content(GET(container,config = extras ))
,我得到“ResourceNotFound”,表示它无法识别我的凭据。
如何正确传递多个值?
答案 0 :(得分:0)
传递给GET()
的所有未命名参数都会传递到config
。这意味着你可以做到
content( GET(container, login, extras) )
或者,他的配置选项基本上只是列表,您可以使用c()
来组合位。例如
content( GET(container, config = c(login, extras)) )