View a markdown version of this page

问题排查 - AWS 转换

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

问题排查

本节提供有关如何解决 Trans AWS form 自定义常见问题的指导。

记录位置

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 控制台访问 Su AWS pport

打开支持请求时,请包括:

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

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

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

  • 重现问题的步骤

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

S3 访问问题

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

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

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

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 终端节点策略允许GetObject对 AWS 转换自定义服务拥有的存储桶进行PutObject操作。这可以通过在您的 VPC 终端节点策略中添加以下语句来实现:

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

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