You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS CloudDirectory默认组织架构创建对象时遇无效ARN异常

解决AWS CloudDirectory创建对象时的Invalid ARN异常

你在使用默认customer-org schema创建CloudDirectory对象时遇到的Invalid ARN异常,大概率是ARN格式或配置匹配问题导致的,我帮你梳理几个核心排查方向:

1. 修正预定义Schema的ARN格式

AWS提供的公共预发布schema(比如customer-org)不需要包含你的账号ID,正确的ARN格式应该是:

arn:aws:clouddirectory:<region>::schema/published/customer-org/v0.0

你当前代码里的ARN额外添加了自己的账号ID(000000000000),这会让AWS无法识别这个官方公共schema,把账号ID部分去掉就能解决这个格式问题。

2. 确保客户端区域与ARN区域一致

检查你的boto3 CloudDirectory客户端是否和ARN里的us-east-1区域匹配,如果客户端默认区域不是us-east-1,需要显式指定:

client = boto3.client('clouddirectory', region_name='us-east-1')

区域不匹配是触发ARN无效错误的常见原因之一。

3. 验证Schema的存在性与发布状态

如果你用的是自己自定义的customer-org schema(而非AWS预定义版本),需要确认:

  • 该schema已经在你的账号下成功发布
  • ARN里的版本号v0.0是正确的发布版本
  • 可以通过API验证已发布的schema列表,对比确认ARN正确性:
response = client.list_published_schemas()
print(response['SchemaArns'])

4. 核对Facet名称的准确性

默认customer-org schema中的Facet名称是Organization,你代码里的写法是正确的,但如果是自定义schema,要注意Facet名称是大小写敏感的,必须和schema定义完全一致。

调整后的示例代码:

import boto3

# 初始化指定区域的客户端
client = boto3.client('clouddirectory', region_name='us-east-1')
AWS_CLOUD_DIR_ARN = 'arn:aws:clouddirectory:us-east-1:000000000000:directory/AUaGFp4A7Ea_lY5QwPxSQTw'
# 使用AWS预定义schema的正确ARN
AWS_CLOUD_DIR_SCHEMA_ARN = 'arn:aws:clouddirectory:us-east-1::schema/published/customer-org/v0.0'

schemaFacets = [
    { "SchemaArn": AWS_CLOUD_DIR_SCHEMA_ARN, "FacetName": "Organization" },
    # 按需添加其他Facet
]

# 执行创建对象操作
# client.create_object(DirectoryArn=AWS_CLOUD_DIR_ARN, SchemaFacets=schemaFacets, ...)

内容的提问来源于stack exchange,提问作者cogitoergosum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:55:32