Ошибка при подключении к Alibaba Cloud EDAS с использованием Python SDK - PullRequest
0 голосов
/ 07 декабря 2018

Попытка получить доступ к приложению EDAS, настроенному в Alibaba Cloud, с помощью SDK.Ниже код возвращает код ошибки 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}

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Код ошибки 401 означает, что вы не авторизованы для вызова API.

Если вы используете субсчет для вызова API, то идентификатор ключа доступа, используемый в запросе, не имеет разрешения на вызов API.

Чтобы исправить это,используйте основную учетную запись для авторизации дополнительной учетной записи.или используйте первичный ключ доступа к учетной записи для доступа к EDAS (что не рекомендуется).

0 голосов
/ 08 декабря 2018

Сообщение об ошибке 401 означает, что доступ не авторизован, поэтому, похоже, это проблема не что иное, как ваш доступ к серверу приложений.Согласно документации EDAS:

Учетная запись, соответствующая идентификатору ключа доступа, используемому в запросе, не имеет разрешения на вызов API.Чтобы исправить это, используйте основной аккаунт для авторизации субсчета.

Вы уверены, что авторизовали субсчет с использованием своего основного аккаунта в этом случае?

Основная учетная запись может определять различные разрешения для операций для своих дополнительных учетных записей, создавая разные роли.

  1. В консоли EDAS выберите Роли на левой навигационной панели.
  2. Нажмите Создать роль в правом верхнем углу.
  3. Введите имя роли, выберите разрешения в левом поле, добавьте справа и нажмите ОК.

В сообщении об ошибке не так много, оно просто указывает на то, что у вас нет авторизации, поэтому проверьте учетные записи и роли в консоли EDAS и перепроверьте значения.

...