首页 > 解决方案 > python SDK连接阿里云EDAS报错

问题描述

尝试使用 SDK 访问阿里云中配置的 EDAS 应用。下面的代码返回错误代码 401(“无效用户”)。我已经检查了 EDAS 设置,它只是为我自己的主帐户设置的。感谢是否有人可以就此分享一些指导。

- - - 代码 - - - - -

# -*- coding: utf-8 -*- 
import sys from aliyunsdkcore.client
import AcsClient from aliyunsdkedas.request.v20170801
import QueryApplicationStatusRequest
import uuid from aliyunsdkcore.profile
import region_provider from aliyunsdkcore.http
import method_type as MT from aliyunsdkcore.http
import format_type as FT

try:
  reload(sys)
  sys.setdefaultencoding('utf8')
except NameError:
  pass except Exception as err:
    raise err

REGION = "ap-southeast-1"
PRODUCT_NAME = "Edas"
ENDPOINT = "edas.ap-southeast-1.aliyuncs.com"
ACCESS_KEY_ID = "Primary account key ID"
ACCESS_KEY_SECRET = "Primary account security key"
region_provider.add_endpoint(PRODUCT_NAME, REGION, ENDPOINT)
acs_client = AcsClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, REGION)

def query_application():
  qappreq = QueryApplicationStatusRequest.QueryApplicationStatusRequest()
  qappreq.set_AppId('457290d6-9426-49c8-835c-4133f6a4d268')
  qappresponse = acs_client.do_action_with_exception(qappreq)
  return qappresponse

if __name__ == '__main__':
  print(query_application())

在运行上面的代码时,我得到了这个输出,

{"Code":401}

标签: pythonalibaba-cloud

解决方案


错误代码401明确表示您无权调用 API。

如果您使用子账号调用API,那么请求使用的Access Key ID没有调用API的权限。

要修复它,请使用主帐户授权子帐户。或使用主账户访问密钥访问 EDAS(这不是最佳实践)。


推荐阅读