首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS -从Lambda获取存储网关的激活密钥

AWS -从Lambda获取存储网关的激活密钥
EN

Stack Overflow用户
提问于 2019-01-10 23:49:07
回答 1查看 220关注 0票数 1

我正在尝试编写一些自动化程序,以便从实例中获取激活密钥,并在AWS上激活一个存储网关。我一直在python 3.6的AWS Lambda中使用"requests“库来写这篇文章,结果只是遇到了以下问题:

代码语言:javascript
复制
Your web browser must have JavaScript enabled

每当我执行get请求时都会出错。然而,在他们的文档中:

https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html#get-activation-key-cli

它们使用wget向实例发出请求,并获得带有激活密钥的响应。Wget没有javascript解释器,这是怎么工作的呢?

这是不是可以直接通过python实现,或者我只能下载像selenium或phantomjs这样的胖二进制文件,将其解压到zip文件中,然后上传该zip文件,以便发出一个包含javascript的web请求?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-11 02:21:03

Curl安装在lambda上。我能够使用curl实现这一点。

代码语言:javascript
复制
def get_gateway_activation_key(event):
  print("Getting activation key...")
  fgs = event["ResourceProperties"]["FileGatewayOptions"]["FileGatewaySettings"]
  url = "redirect_url=$(curl -f -s -S -w '%%{redirect_url}' \"http://%s/?activationRegion=%s\")  && echo $redirect_url" % (fgs["InstanceIP"],fgs["GatewayRegion"])
  redirect_url = os.popen(url).read()
  if redirect_url == "" or redirect_url is None:
      raise Exception("No redirect url returned for ip: %s" % fgs["InstanceIP"])
  key = redirect_url.split("activationKey=")[1].split("&gateway")[0]
  if key is None or key is "":
      raise Exception("Unable to extract the key from the returned redirect url: %s" %redirect_url)
  print("Retrieved Activation Key: %s" % key)
  return key
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54132285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档