【问题标题】:"errorMessage": "'Session' object has no attribute 'region_id'" in AWS"errorMessage": "'Session' 对象在 AWS 中没有属性 'region_id'"
【发布时间】:2020-07-14 06:04:27
【问题描述】:

代码如下

import boto3
import json
from requests_aws4auth import AWS4Auth
from elasticsearch import Elasticsearch, RequestsHttpConnection
session = boto3.session.Session()
credentials = session.get_credentials()

awsauth = AWS4Auth(credentials.access_key,
                   credentials.secret_key,
                   session.region_id, 'es',
                   session_token=credentials.token)
es = Elasticsearch(
    ['https://xx.es.amazonaws.com'],
    http_auth=awsauth,
    use_ssl=True,
    verify_certs=True,
    connection_class=RequestsHttpConnection
)


def lambda_handler(event, context):
    es.cluster.health()
    #es.indices.delete(index='test', ignore=[400, 404])

    es.indices.create(index='test', ignore=400)
    r = [{'id': '1', 'data': 'Health'},
 {'id': '2', 'data': 'countries'},
 {'id': '3', 'data': 'currency'},
 {'id': '4', 'data': 'language'}]
    for e in enumerate(r):
        es.index(index="test", body=e[1])
        result = es.search(index="test", body={"query": {"match_all": {}}})
    return{
        'statusCode': 200,
        'body':result
    }

我昨天刚出门

今天我收到以下错误

{
  "errorMessage": "'Session' object has no attribute 'region_id'",
  "errorType": "AttributeError",
  "stackTrace": [
    "  File \"/var/lang/lib/python3.8/imp.py\", line 234, in load_module\n    return load_source(name, filename, file)\n",
    "  File \"/var/lang/lib/python3.8/imp.py\", line 171, in load_source\n    module = _load(spec)\n",
    "  File \"<frozen importlib._bootstrap>\", line 702, in _load\n",
    "  File \"<frozen importlib._bootstrap>\", line 671, in _load_unlocked\n",
    "  File \"<frozen importlib._bootstrap_external>\", line 783, in exec_module\n",
    "  File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\n",
    "  File \"/var/task/lambda_function.py\", line 15, in <module>\n    session.region_id, 'es',\n"
  ]
}

【问题讨论】:

    标签: python amazon-web-services aws-lambda


    【解决方案1】:

    应该是be:

    session.region_name
    

    不是session.region_id

    【讨论】:

    猜你喜欢
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 2020-06-13
    • 1970-01-01
    • 2013-12-10
    相关资源
    最近更新 更多