401转储状态时发生未授权错误

Developer Console - 401未授权

如果转储任何状态时报告了“401未授权错误”,则表示您的用户尚不存在,且在AEM as a Cloud Service中具有必要权限,或者使用的登录令牌无效或已过期。

要解决401未授权问题,请执行以下操作:

  1. 确保您的用户是Developer Console关联的AEM as a Cloud Service产品实例相应的Adobe IMS产品配置文件(AEM管理员或AEM用户)的成员。
    • 请记住,Developer Console访问2个Adobe IMS产品实例;AEM as a Cloud Service创作和发布产品实例,因此请确保根据需要通过Developer Console访问的服务层使用正确的产品配置文件。
  2. 登录到AEM as a Cloud Service(创作或发布),并确保您的用户和组已正确同步到AEM中。
    • Developer Console要求在相应的AEM服务层中创建您的用户记录,以便对该服务层进行身份验证。
  3. 清除您的浏览器Cookie以及应用程序状态(本地存储)并重新登录到Developer Console,以确保Developer Console使用的访问令牌正确且未过期。

Pod

AEM as a Cloud Service Author和Publish服务分别由多个实例组成,以便在不停机的情况下处理流量可变性和滚动更新。 这些实例称为Pod。 Developer Console中的Pod选择定义将通过其他控件公开的数据范围。

Developer Console - Pod

  • Pod是属于AEM服务(创作或发布)的离散实例

  • Pod是瞬态的,这意味着AEM as a Cloud Service会根据需要创建和销毁它们

  • 只有属于关联AEM as a Cloud Service环境的Pod才会列在该环境的Developer Console的Pod切换器中。

  • 在Pod切换器的底部,方便选项允许按服务类型选择Pod:

    • 所有作者
    • 所有发布者
    • 所有实例

状态

状态提供用于以文本或JSON输出形式输出特定AEM运行时状态的选项。 Developer Console提供了与AEM SDK的本地快速入门的OSGi Web控制台类似的信息,两者的显着区别在于Developer Console为只读。

Developer Console — 状态

包列出了AEM中的所有OSGi包。 此功能类似于AEM SDK在/system/console/bundles的本地OSGi包

捆绑包可帮助进行以下调试:

  • 列出部署到AEM即服务的所有OSGi包
  • 列出每个OSGi捆绑包的状态;包括它们是否处于活动状态
  • 提供导致OSGi捆绑包变为活动状态的未解析依赖项的详细信息

组件

组件列出了AEM中的所有OSGi组件。 此功能类似于AEM SDK在/system/console/components的本地Quickstart的OSGi组件

组件通过以下方式帮助进行调试:

  • 列出部署到AEM as a Cloud Service的所有OSGi组件
  • 提供每个OSGi组件的状态;包括它们是活动的还是不满足的
  • 向不满足的服务引用提供详细信息可能会导致OSGi组件变为活动状态
  • 列出绑定到OSGi组件的OSGi属性及其值。

配置

配置列出了所有OSGi组件的配置(OSGi属性和值)。 此功能类似于AEM SDK在/system/console/configMgr的本地Quickstart的OSGi Configuration Manager

配置可通过以下方式帮助进行调试:

  • 按OSGi组件列出OSGi属性及其值
  • 查找和识别配置错误的属性

Oak索引

Oak索引提供/oak:index下定义的节点的转储。 请记住,这不会显示合并的索引,在修改AEM索引时会发生这种情况。

Oak索引通过以下方式帮助进行调试:

  • 列出所有Oak索引定义,深入分析如何在AEM中执行搜索查询。 请记住,此处不反映对AEM索引所做的修改。 此视图仅对由AEM单独提供或仅由自定义代码提供的索引有用。

OSGi服务

组件列出了所有OSGi服务。 此功能类似于AEM SDK在/system/console/services的本地Quickstart OSGi服务

OSGi Services帮助通过以下方式调试:

  • 列出AEM中的所有OSGi服务,以及其提供的OSGi捆绑包和使用该捆绑包的所有OSGi捆绑包

Sling 作业

Sling作业列出了所有Sling作业队列。 此功能类似于AEM SDK在/system/console/slingevent的本地快速入门作业

Sling作业通过以下方式帮助进行调试:

  • Sling作业队列及其配置列表
  • 提供对活动、已排队和已处理Sling作业数量的分析,这有助于在AEM中调试工作流、瞬态工作流和Sling作业执行的其他工作中存在的问题。

Java包

Java包允许检查Java包和版本是否可以在AEM as a Cloud Service中使用。 此功能与AEM SDK在/system/console/depfinder的本地快速入门依赖项查找器相同。

Developer Console - Java包

Java包用于对由于未解析的导入或脚本(HTL、JSP等)中的类未解析而导致捆绑包无法启动进行故障排除。 如果Java包报告没有捆绑包导出Java包(或版本与OSGi捆绑包导入的版本不匹配):

  • 确保项目的AEM API Maven依赖项的版本与环境的AEM发行版本匹配(如果可能,请将所有内容更新为最新版本)。

  • 如果在Maven项目中使用额外的Maven依赖项

    • 确定是否可改用AEM SDK API依赖项提供的替代API。
    • 如果需要额外的依赖关系,请确保它作为OSGi捆绑包(而不是纯Jar)提供,并且嵌入到项目的代码包(ui.apps)中,类似于核心OSGi捆绑包嵌入到ui.apps包中的方式。

Servlet

Servlet用于提供有关AEM如何将URL解析为最终处理请求的Java servlet或脚本(HTL、JSP)的分析。 此功能与AEM SDK在/system/console/servletresolver的本地Sling Servlet解析程序相同。

Developer Console - Servlet

Servlet有助于调试确定:

  • 如何将URL分解为其可寻址部分(资源、选择器、扩展)。
  • URL解析到的servlet或脚本,可帮助识别格式错误的URL或注册错误的servlet/脚本。

查询

查询有助于深入分析在AEM上执行搜索查询的内容和方式。 此功能与AEM SDK的本地快速入门工具>查询性能控制台相同。

仅当选择了特定的面板时,查询才起作用,因为它打开该面板的查询性能Web控制台,要求开发人员有权登录到AEM服务。

Developer Console — 查询 — 说明查询

查询可通过以下方式帮助进行调试:

  • 解释Oak如何解释、分析和执行查询。 在跟踪为什么查询速度缓慢并了解如何加快查询速度时,这一点非常重要。
  • 列出在AEM中运行的最受欢迎的查询,并可解释这些查询。
  • 列出在AEM中运行最慢的查询,并可解释这些查询。
recommendation-more-help