Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.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
Amazon web services AWS AppSync列表查询在控制台和代码中出现504错误_Amazon Web Services_Graphql_Aws Amplify_Aws Appsync - Fatal编程技术网

Amazon web services AWS AppSync列表查询在控制台和代码中出现504错误

Amazon web services AWS AppSync列表查询在控制台和代码中出现504错误,amazon-web-services,graphql,aws-amplify,aws-appsync,Amazon Web Services,Graphql,Aws Amplify,Aws Appsync,给定以下模式: input CreateSurveysInput { uuid: String! year: Int! geocode: AWSJSON! metadata: AWSJSON! observations: AWSJSON! report_url: String survey_date: String! video_url: String! } input CreateWaterQualityInput {

给定以下模式:

input CreateSurveysInput {
    uuid: String!
    year: Int!
    geocode: AWSJSON!
    metadata: AWSJSON!
    observations: AWSJSON!
    report_url: String
    survey_date: String!
    video_url: String!
}

input CreateWaterQualityInput {
    uuid: String!
}

input DeleteSurveysInput {
    uuid: String!
    year: Int!
}

input DeleteWaterQualityInput {
    uuid: String!
}

type Mutation {
    createSurveys(input: CreateSurveysInput!): Surveys
    updateSurveys(input: UpdateSurveysInput!): Surveys
    deleteSurveys(input: DeleteSurveysInput!): Surveys
    createWaterQuality(input: CreateWaterQualityInput!): WaterQuality
    updateWaterQuality(input: UpdateWaterQualityInput!): WaterQuality
    deleteWaterQuality(input: DeleteWaterQualityInput!): WaterQuality
}

type Query {
    getSurveys(year: Int!, uuid: String!): Surveys
    listSurveys(filter: TableSurveysFilterInput, limit: Int, nextToken: String): SurveysConnection
    getWaterQuality(uuid: String!): WaterQuality
    listWaterQualities(filter: TableWaterQualityFilterInput, limit: Int, nextToken: String): WaterQualityConnection
}

type Subscription {
    onCreateSurveys(
        uuid: String,
        year: Int,
        geocode: AWSJSON,
        metadata: AWSJSON,
        observations: AWSJSON
    ): Surveys
        @aws_subscribe(mutations: ["createSurveys"])
    onUpdateSurveys(
        uuid: String,
        year: Int,
        geocode: AWSJSON,
        metadata: AWSJSON,
        observations: AWSJSON
    ): Surveys
        @aws_subscribe(mutations: ["updateSurveys"])
    onDeleteSurveys(
        uuid: String,
        year: Int,
        geocode: AWSJSON,
        metadata: AWSJSON,
        observations: AWSJSON
    ): Surveys
        @aws_subscribe(mutations: ["deleteSurveys"])
    onCreateWaterQuality(uuid: String): WaterQuality
        @aws_subscribe(mutations: ["createWaterQuality"])
    onUpdateWaterQuality(uuid: String): WaterQuality
        @aws_subscribe(mutations: ["updateWaterQuality"])
    onDeleteWaterQuality(uuid: String): WaterQuality
        @aws_subscribe(mutations: ["deleteWaterQuality"])
}

type Surveys {
    uuid: String!
    year: Int!
    geocode: AWSJSON!
    metadata: AWSJSON!
    observations: AWSJSON!
    report_url: String
    survey_date: String!
    video_url: String!
}

type SurveysConnection {
    items: [Surveys]
    nextToken: String
}

input TableBooleanFilterInput {
    ne: Boolean
    eq: Boolean
}

input TableFloatFilterInput {
    ne: Float
    eq: Float
    le: Float
    lt: Float
    ge: Float
    gt: Float
    contains: Float
    notContains: Float
    between: [Float]
}

input TableIDFilterInput {
    ne: ID
    eq: ID
    le: ID
    lt: ID
    ge: ID
    gt: ID
    contains: ID
    notContains: ID
    between: [ID]
    beginsWith: ID
}

input TableIntFilterInput {
    ne: Int
    eq: Int
    le: Int
    lt: Int
    ge: Int
    gt: Int
    contains: Int
    notContains: Int
    between: [Int]
}

input TableStringFilterInput {
    ne: String
    eq: String
    le: String
    lt: String
    ge: String
    gt: String
    contains: String
    notContains: String
    between: [String]
    beginsWith: String
}

input TableSurveysFilterInput {
    uuid: TableStringFilterInput
    year: TableIntFilterInput
    report_url: TableStringFilterInput
    survey_date: TableStringFilterInput
    video_url: TableStringFilterInput
}

input TableWaterQualityFilterInput {
    uuid: TableStringFilterInput
}

input UpdateSurveysInput {
    uuid: String!
    year: Int!
    geocode: AWSJSON
    metadata: AWSJSON
    observations: AWSJSON
    report_url: String
    survey_date: String
    video_url: String
}

input UpdateWaterQualityInput {
    uuid: String!
}

type WaterQuality {
    uuid: String!
    flow: AWSJSON!
    free_chlorine: AWSJSON!
    location: String!
    ph: AWSJSON!
    pressure: AWSJSON!
    temperature: AWSJSON!
    timestamp: Int!
}

type WaterQualityConnection {
    items: [WaterQuality]
    nextToken: String
}
{
  "flow": {
    "raw": 7.1148501551630785,
    "value": 113.83760248260926
  },
  "free_chlorine": {
    "raw": 0.35,
    "value": 0.35
  },
  "location": "mars",
  "ph": {
    "raw": 0.2,
    "value": -6.15152
  },
  "pressure": {
    "raw": 13248.528910641011,
    "value": 86.19716484615098
  },
  "temperature": {
    "raw": 684.7506156784981,
    "value": 16.883287645632485
  },
  "timestamp": 1602381709752,
  "uuid": "008b5a2ad27b42b8a311f021510fca87"
}
…以及附加到列表查询的以下解析器listWaterQualities

{
  "version": "2017-02-28",
  "operation": "Scan",
  "filter": #if($context.args.filter) $util.transform.toDynamoDBFilterExpression($ctx.args.filter) #else null #end,
  "limit": $util.defaultIfNull($ctx.args.limit, 20),
  "nextToken": $util.toJson($util.defaultIfNullOrEmpty($ctx.args.nextToken, null)),
}

$util.toJson($context.result.items)
…和以下数据库表结构(主键uuid):

input CreateSurveysInput {
    uuid: String!
    year: Int!
    geocode: AWSJSON!
    metadata: AWSJSON!
    observations: AWSJSON!
    report_url: String
    survey_date: String!
    video_url: String!
}

input CreateWaterQualityInput {
    uuid: String!
}

input DeleteSurveysInput {
    uuid: String!
    year: Int!
}

input DeleteWaterQualityInput {
    uuid: String!
}

type Mutation {
    createSurveys(input: CreateSurveysInput!): Surveys
    updateSurveys(input: UpdateSurveysInput!): Surveys
    deleteSurveys(input: DeleteSurveysInput!): Surveys
    createWaterQuality(input: CreateWaterQualityInput!): WaterQuality
    updateWaterQuality(input: UpdateWaterQualityInput!): WaterQuality
    deleteWaterQuality(input: DeleteWaterQualityInput!): WaterQuality
}

type Query {
    getSurveys(year: Int!, uuid: String!): Surveys
    listSurveys(filter: TableSurveysFilterInput, limit: Int, nextToken: String): SurveysConnection
    getWaterQuality(uuid: String!): WaterQuality
    listWaterQualities(filter: TableWaterQualityFilterInput, limit: Int, nextToken: String): WaterQualityConnection
}

type Subscription {
    onCreateSurveys(
        uuid: String,
        year: Int,
        geocode: AWSJSON,
        metadata: AWSJSON,
        observations: AWSJSON
    ): Surveys
        @aws_subscribe(mutations: ["createSurveys"])
    onUpdateSurveys(
        uuid: String,
        year: Int,
        geocode: AWSJSON,
        metadata: AWSJSON,
        observations: AWSJSON
    ): Surveys
        @aws_subscribe(mutations: ["updateSurveys"])
    onDeleteSurveys(
        uuid: String,
        year: Int,
        geocode: AWSJSON,
        metadata: AWSJSON,
        observations: AWSJSON
    ): Surveys
        @aws_subscribe(mutations: ["deleteSurveys"])
    onCreateWaterQuality(uuid: String): WaterQuality
        @aws_subscribe(mutations: ["createWaterQuality"])
    onUpdateWaterQuality(uuid: String): WaterQuality
        @aws_subscribe(mutations: ["updateWaterQuality"])
    onDeleteWaterQuality(uuid: String): WaterQuality
        @aws_subscribe(mutations: ["deleteWaterQuality"])
}

type Surveys {
    uuid: String!
    year: Int!
    geocode: AWSJSON!
    metadata: AWSJSON!
    observations: AWSJSON!
    report_url: String
    survey_date: String!
    video_url: String!
}

type SurveysConnection {
    items: [Surveys]
    nextToken: String
}

input TableBooleanFilterInput {
    ne: Boolean
    eq: Boolean
}

input TableFloatFilterInput {
    ne: Float
    eq: Float
    le: Float
    lt: Float
    ge: Float
    gt: Float
    contains: Float
    notContains: Float
    between: [Float]
}

input TableIDFilterInput {
    ne: ID
    eq: ID
    le: ID
    lt: ID
    ge: ID
    gt: ID
    contains: ID
    notContains: ID
    between: [ID]
    beginsWith: ID
}

input TableIntFilterInput {
    ne: Int
    eq: Int
    le: Int
    lt: Int
    ge: Int
    gt: Int
    contains: Int
    notContains: Int
    between: [Int]
}

input TableStringFilterInput {
    ne: String
    eq: String
    le: String
    lt: String
    ge: String
    gt: String
    contains: String
    notContains: String
    between: [String]
    beginsWith: String
}

input TableSurveysFilterInput {
    uuid: TableStringFilterInput
    year: TableIntFilterInput
    report_url: TableStringFilterInput
    survey_date: TableStringFilterInput
    video_url: TableStringFilterInput
}

input TableWaterQualityFilterInput {
    uuid: TableStringFilterInput
}

input UpdateSurveysInput {
    uuid: String!
    year: Int!
    geocode: AWSJSON
    metadata: AWSJSON
    observations: AWSJSON
    report_url: String
    survey_date: String
    video_url: String
}

input UpdateWaterQualityInput {
    uuid: String!
}

type WaterQuality {
    uuid: String!
    flow: AWSJSON!
    free_chlorine: AWSJSON!
    location: String!
    ph: AWSJSON!
    pressure: AWSJSON!
    temperature: AWSJSON!
    timestamp: Int!
}

type WaterQualityConnection {
    items: [WaterQuality]
    nextToken: String
}
{
  "flow": {
    "raw": 7.1148501551630785,
    "value": 113.83760248260926
  },
  "free_chlorine": {
    "raw": 0.35,
    "value": 0.35
  },
  "location": "mars",
  "ph": {
    "raw": 0.2,
    "value": -6.15152
  },
  "pressure": {
    "raw": 13248.528910641011,
    "value": 86.19716484615098
  },
  "temperature": {
    "raw": 684.7506156784981,
    "value": 16.883287645632485
  },
  "timestamp": 1602381709752,
  "uuid": "008b5a2ad27b42b8a311f021510fca87"
}
…并在AppSync控制台和通过代码运行查询。我得到一个超时时间。

content-length: 1033
content-type: text/html
date: Sun, 11 Oct 2020 15:09:06 GMT
server: CloudFront
status: 504
via: 1.1 xxxxxxx.cloudfront.net (CloudFront)
x-amz-cf-id: xxxxxxx_2whgDivdLvdgGMRHz7O6g1d-5CSiBX0xVLXhIvfhQA==
x-amz-cf-pop: DFW3-C1
x-cache: Error from cloudfront
道歉如果这已经解决了,但我找不到相关的解决方案,有人能发现我的错误/问题吗。我忽略了什么,或者是明显的错误原因


一如既往地感谢所有反馈,并提前表示感谢

好吧,如果其他人开始看到这些错误,我就错了,不在这里寻找点:

我的问题是我在api数据源中选择的用户角色:

Create or use an existing role
Allow AWS AppSync to securely interact with your data source.
我选择了use existing并选择了与不同ddb表关联的IAM用户,因此从未连接到正确的表,因此没有数据/超时

抱歉占用了这里的空间