【问题标题】:boto3 not able to access given region name while taking region provided by AWS Lambdaboto3 在获取 AWS Lambda 提供的区域时无法访问给定的区域名称
【发布时间】:2018-08-23 22:03:13
【问题描述】:

我有这样的boto客户端

client = boto3.client('rekognition', region_name="us-east-1")

我正在使用此客户端从图像中检测文本,并在没有 Rekognition api 的 AWS 区域部署代码,但提供了在客户端可用的区域名称。在执行/测试 lambda 函数时,它给出了

errorMessage": "Could not connect to the endpoint URL: \"https://rekognition.ap-south-1.amazonaws.com/"

为什么它选择我在 client-"us-east-1" 中提供的 ap-south-1

client = boto3.client('rekognition', region_name="us-east-1")

但是当我在本地使用 region-name:- ap-south-1 和客户端运行代码时

client = boto3.client('rekognition', region_name="us-east-1")

它运行得很好

但不在 AWS lambda 上运行

当两个区域相同时成功运行(us-east-1)

如果有人可以提供任何建议,那就太好了,很快就需要帮助!!!!!!!

【问题讨论】:

  • 可以分享完整的代码吗?
  • 您是否为 lambda 分配了相关的应用程序访问角色?
  • @mootmoot 是的,我已经分配了
  • 你可以试试sess= boto3.session(region_name="us-east-1")然后只创建rekognition客户端rekognition = sess.client('rekognition')。有时新的 boto3 服务客户端不会传递 region_name。

标签: amazon-web-services amazon-s3 aws-lambda amazon-rekognition aws-lambda-edge


【解决方案1】:

截至 2018 年 3 月 15 日,Mumbai (ap-south-1) 不支持 AWS Rekogniton

查看支持的地区:Amazon Rekognition - Available Regions

【讨论】:

  • 但我已经在 boto 配置中提供了 us-east-1 client = boto3.client('rekognition', region_name="us-east-1") 如果你能快速提供帮助,那就太好了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-28
  • 2023-02-16
  • 2017-10-24
  • 2020-06-02
  • 1970-01-01
相关资源
最近更新 更多