Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cloudfront createDistribution上的InvalidArgument错误_Javascript_Node.js_Amazon Web Services_Amazon Cloudfront_Aws Sdk Js - Fatal编程技术网

Javascript Cloudfront createDistribution上的InvalidArgument错误

Javascript Cloudfront createDistribution上的InvalidArgument错误,javascript,node.js,amazon-web-services,amazon-cloudfront,aws-sdk-js,Javascript,Node.js,Amazon Web Services,Amazon Cloudfront,Aws Sdk Js,Node.js版本 v12.16.2 SDK版本号 v2.727.0 当我试图通过API创建一个新的Cloudfront发行版时,我收到一个错误,指出MinTTL是必填字段,但查看sdk文档,它表示该属性已被弃用。当我将MinTTL放在DefaultCacheBehavior字段上时,它表示ForwardedValues是必需的,这是另一个不推荐使用的属性。我用Typescript做这个,所以我也有类型检查告诉我这一切都很好。我还在构造函数上指定最新的API版本。我做错什么了吗 返回 { m

Node.js版本 v12.16.2

SDK版本号 v2.727.0

当我试图通过API创建一个新的Cloudfront发行版时,我收到一个错误,指出MinTTL是必填字段,但查看sdk文档,它表示该属性已被弃用。当我将MinTTL放在DefaultCacheBehavior字段上时,它表示ForwardedValues是必需的,这是另一个不推荐使用的属性。我用Typescript做这个,所以我也有类型检查告诉我这一切都很好。我还在构造函数上指定最新的API版本。我做错什么了吗

返回

{
  message: "The parameter MinTTL is required.",
  code: "InvalidArgument",
  statusCode: 400,
}
我在调用中传递的最后一个对象如下:

{
  DistributionConfig: {
    CallerReference: "3e408c41-d8d6-11ea-b123-177f1e4dc4e3",
    Enabled: true,
    Comment: “teste.com.br Production Distribution",
    Aliases: {
      Quantity: 2,
      Items: [
        "teste.com.br",
        "www.teste.com.br",
      ],
    },
    Origins: {
      Quantity: 1,
      Items: [
        {
          Id: “teste.com.br3e408c40-d8d6-11ea-b123-177f1e4dc4e3",
          DomainName: “my-production-load-balancer-domain-name”,
          CustomOriginConfig: {
            HTTPSPort: 443,
            HTTPPort: 80,
            OriginProtocolPolicy: "http-only",
            OriginReadTimeout: 30,
            OriginKeepaliveTimeout: 5,
          },
        },
      ],
    },
    ViewerCertificate: {
      ACMCertificateArn: "arn:aws:acm:us-east-1:522904521474:certificate/e221dfd8-72b7-4431-b9db-b460fdsds3be9",
      CloudFrontDefaultCertificate: false,
      SSLSupportMethod: "sni-only",
      MinimumProtocolVersion: "TLSv1.1_2016",
    },
    DefaultCacheBehavior: {
      TargetOriginId: “teste.com.br3e408c40-d8d6-11ea-b123-177f1e4dc4e3",
      TrustedSigners: {
        Enabled: false,
        Quantity: 0,
      },
      AllowedMethods: {
        Quantity: 7,
        Items: [
          "GET",
          "HEAD",
          "OPTIONS",
          "PUT",
          "PATCH",
          "POST",
          "DELETE",
        ],
      },
      ViewerProtocolPolicy: "redirect-to-https",
    },
    IsIPV6Enabled: true,
  },
}

你能打印出函数
createDistribution
的参数值吗?我在问题上添加了一个新的部分,显示了调用@jellycsc。我想你指的是我自己的功能,对吧?对不起,我不是这个意思。我要改写。您将一个大对象传递到
this.cloudfront.createDistribution
。我想看看用真实值填充时实际存在什么。这有意义吗?哦,好吧,我现在明白了,我的错,我会在帖子上再做一次编辑,显示这一点。我将只编辑一些值,因为我不知道它们是否是敏感信息。。。我是aws的新手。如果您不想使用旧参数,您应该指定
CachePolicyId
和/或
OriginRequestPolicyId
。您能打印出函数
createDistribution
的参数值吗?我在问题上添加了一个新的部分,显示调用@jellycsc。我想你指的是我自己的功能,对吧?对不起,我不是这个意思。我要改写。您将一个大对象传递到
this.cloudfront.createDistribution
。我想看看用真实值填充时实际存在什么。这有意义吗?哦,好吧,我现在明白了,我的错,我会在帖子上再做一次编辑,显示这一点。我将只编辑一些值,因为我不知道它们是否是敏感信息。。。我是aws的新手。如果不想使用旧参数,则应指定
CachePolicyId
和/或
OriginRequestPolicyId
{
  DistributionConfig: {
    CallerReference: "3e408c41-d8d6-11ea-b123-177f1e4dc4e3",
    Enabled: true,
    Comment: “teste.com.br Production Distribution",
    Aliases: {
      Quantity: 2,
      Items: [
        "teste.com.br",
        "www.teste.com.br",
      ],
    },
    Origins: {
      Quantity: 1,
      Items: [
        {
          Id: “teste.com.br3e408c40-d8d6-11ea-b123-177f1e4dc4e3",
          DomainName: “my-production-load-balancer-domain-name”,
          CustomOriginConfig: {
            HTTPSPort: 443,
            HTTPPort: 80,
            OriginProtocolPolicy: "http-only",
            OriginReadTimeout: 30,
            OriginKeepaliveTimeout: 5,
          },
        },
      ],
    },
    ViewerCertificate: {
      ACMCertificateArn: "arn:aws:acm:us-east-1:522904521474:certificate/e221dfd8-72b7-4431-b9db-b460fdsds3be9",
      CloudFrontDefaultCertificate: false,
      SSLSupportMethod: "sni-only",
      MinimumProtocolVersion: "TLSv1.1_2016",
    },
    DefaultCacheBehavior: {
      TargetOriginId: “teste.com.br3e408c40-d8d6-11ea-b123-177f1e4dc4e3",
      TrustedSigners: {
        Enabled: false,
        Quantity: 0,
      },
      AllowedMethods: {
        Quantity: 7,
        Items: [
          "GET",
          "HEAD",
          "OPTIONS",
          "PUT",
          "PATCH",
          "POST",
          "DELETE",
        ],
      },
      ViewerProtocolPolicy: "redirect-to-https",
    },
    IsIPV6Enabled: true,
  },
}