View a markdown version of this page

问题排查 - AWS 转换

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

问题排查

本节为排除 T AWS ransform 自定义常见问题提供指导。

日志位置

AWS Transform CLI 在以下位置维护日志:

对话日志:

Linux and macOS
~/.aws/atx/custom/<conversation_id>/logs/<timestamp>-conversation.log
Windows
%USERPROFILE%\.aws\atx\custom\<conversation_id>\logs\<timestamp>-conversation.log

这些日志包含用于调试特定转换执行的完整对话历史记录。

子代理日志:

Linux and macOS
~/.aws/atx/custom/<conversation_id>/logs/subagents/<name>.log
Windows
%USERPROFILE%\.aws\atx\custom\<conversation_id>\logs\subagents\<name>.log

这些日志包含主代理在转换期间生成的子代理的输出。您无需直接管理子代理。

开发者调试日志:

Linux and macOS
~/.aws/atx/logs/debug*.log ~/.aws/atx/logs/error.log
Windows
%USERPROFILE%\.aws\atx\logs\debug*.log %USERPROFILE%\.aws\atx\logs\error.log

这些日志提供有关 CLI 操作和错误的详细信息。每个日志文件在滚动之前都有 5MB 的限制。此目录中可能有多个调试日志,例如 debug1.log 和 debug2.log。

常见问题

安装问题:

如果安装失败,请确保安装了 Node.js 22 或更高版本:

node --version

https://nodejs.org/en/download如果需要 Node.js ,请从中下载。

身份验证问题:

验证您的 AWS 凭证配置正确:

aws sts get-caller-identity

确保您的 IAM 用户或角色拥有所需的transform-custom:*权限。

网络连接问题:

如果遇到连接错误,请验证对所需端点的网络访问权限:

  • transform-cli.awsstatic.com

  • transform-custom.<region>.api.aws

  • *.s3.amazonaws.com

如果在互联网限制的环境中工作,请更新防火墙规则,将这些 URL 列入允许名单。

区域配置问题:

如果你遇到与区域相关的错误:

  • 验证您的地区是否受支持

  • 检查是否有可能会覆盖您的配置的环境变量:echo $AWS_REGION $AWS_DEFAULT_REGION

  • 检查您的区域配置:aws configure get region

  • 如果需要,请更新您的区域:aws configure set region <your-region>

  • 查看调试日志以了解区域分辨率的详细信息

Git 问题:

确保已安装 Git 且您的存储库受 git 源代码控制:

git --version git status

AWS 自定义转换要求存储库受 git 源代码控制。

转换执行问题:

如果转换失败:

  1. 查看对话日志,网址为 ~/.aws/atx/custom/<conversation_id>/logs/

  2. 检查转换输出中是否存在编译或测试失败

  3. 验证您的项目的生成命令是否正确

  4. 尝试在交互模式下运行转换以提供反馈

对话恢复问题:

如果您无法恢复对话:

  • 验证对话的持续时间小于 30 天

  • 检查会话 ID 是否正确

  • 确保你有网络连接

获取支持

如需更多帮助,请通过AWS 控制台访问 AWS 支持

开立支持票时,请包括:

  • 对话日志来自 ~/.aws/atx/custom/<conversation_id>/logs/

  • 来自的子代理日志 ~/.aws/atx/custom/<conversation_id>/logs/subagents/

  • 来自的调试日志 ~/.aws/atx/logs/

  • 重现问题的步骤

  • AWS 转换 CLI 版本 (atx --version)

S3 访问问题

T AWS ransform 自定义服务提供 S3 预签名 URL,以便于上传和下载可能很大的转换文件 to/from 客户端计算机。这意味着,CLI 不仅与 T AWS ransform 服务端点进行交互,而且还与 S3 服务端点进行交互。这些交互使用预签名的 URL,因此您的客户的 IAM 凭证不需要任何 S3 权限,但有时您的本地计算机的代理服务器配置和网络的 S3 VPC 终端节点策略可能会限制这种流量。

请查看以日志位置获取更详细的错误消息,以帮助解决与下载和上传转换文件相关的任何工具故障或 S3 访问被拒绝的原因。

如果您使用的是利用https_proxyno_proxy环境变量的 VPN/Proxy 服务器,请考虑在环境变量值中添加以下值,以绕过 S3 和 T AWS ransform 自定义服务终端节点的代理,例如:no_proxy

Linux and macOS
export no_proxy=.s3.amazonaws.com,transform-custom.<region>.api.aws
Windows (PowerShell)
$env:no_proxy=".s3.amazonaws.com,transform-custom.<region>.api.aws"

如果您在 VPC 中使用AWS PrivateLink 适用于 Amazon S3 的,则可能定义了限制 S3 流量的策略。请确保您的 S3 VPC 终端节点策略允许对 T AWS ransform 自定义服务拥有的存储桶进行PutObject操作GetObject和操作。这可以通过在您的 VPC 终端节点策略中添加以下语句来实现:

{ "Effect": "Allow", "Principal": "*", "Action": ["s3:PutObject","s3:GetObject"], "Resource": "arn:aws:s3:::aws-transform-custom-*/*" }

政策中的明确Deny声明优先于Allow声明。查看 S3 VPC 终端节点策略,了解可能限制访问的Deny声明。