尝试使用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}
答案 0 :(得分:0)
错误响应401表示访问未经授权,因此似乎只是您对应用程序服务器的访问而已。根据EDAS文档:
与子帐户使用的访问密钥ID相对应的子帐户 请求没有调用API的权限。要修复它,请使用 主帐户授权子帐户。
在这种情况下,您确定已使用主帐户授权了子帐户吗?
主帐户可以通过创建不同的角色来为其子帐户定义不同的操作权限。
错误消息没有太多,只是表明您没有授权,因此请在EDAS控制台中检查帐户和角色,然后再次检查值。
答案 1 :(得分:0)
错误代码Open iOS module in XCode
明确表示您无权调用API。
如果您正在使用子帐户来调用API,则请求所使用的访问密钥ID无权调用API。
要解决此问题,请使用主帐户授权子帐户。或使用主帐户访问密钥访问EDAS(这不是最佳做法)。