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

使用OCI CLI创建Secret时遭遇内容格式无效错误的问题

OCI CLI创建Secret报错"content has an invalid format"的排查与解决

问题场景

使用OCI CLI创建Secret,目标是将JWT令牌设为Secret内容,执行create-base64命令后返回400错误,提示content has an invalid format。

执行的命令

oci vault secret create-base64 \
-c ___compartment_ocid___ \
--secret-name KONG_JWT_TOKEN \
--vault-id ___vault_ocid___ \
--key-id ___encryption_key_ocid____ \
--secret-content-content $jwt_token --debug

关键错误信息

oci.exceptions.ServiceError: {'target_service': 'vaults', 'status': 400, 'code': 'InvalidParameter', 'message': 'content has an invalid format', ...}

排查与解决方法

  • 给变量添加引号避免特殊字符解析错误:
    命令中$jwt_token未加引号,当JWT包含/、=或空格等特殊字符时,Shell会自动分割或转义内容,导致传入API的内容不完整。修改命令为:

    oci vault secret create-base64 \
    -c ___compartment_ocid___ \
    --secret-name KONG_JWT_TOKEN \
    --vault-id ___vault_ocid___ \
    --key-id ___encryption_key_ocid____ \
    --secret-content-content "$jwt_token" --debug
    
  • 确认create-base64命令的参数要求:
    create-base64命令会自动将传入的原始文本内容编码为Base64格式发送给API。如果你的JWT已经是Base64编码后的字符串,请勿使用此命令,改用普通的oci vault secret create命令,并手动处理Base64编码。

  • 检查JWT内容的完整性:
    确保JWT令牌没有多余的空格、换行符或其他无效字符。可以通过以下命令验证内容:

    # 查看变量内容是否有多余字符
    echo "$jwt_token"
    # 验证Base64编码(如果需要手动编码)
    echo -n "$jwt_token" | base64
    
  • 确认权限与资源有效性:
    检查当前OCI用户是否拥有创建Secret的权限,同时确认Vault、加密密钥的OCID正确,且资源位于指定的Compartment中。

内容的提问来源于stack exchange,提问作者N. Blore

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 12:35:54