Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(cli): hotswapping appsync functions fails when API does not return function on the first page #31406

Merged
merged 9 commits into from
Sep 17, 2024

Conversation

dpilch
Copy link
Contributor

@dpilch dpilch commented Sep 11, 2024

Issue # (if applicable)

aws-amplify/amplify-category-api#2307

Reason for this change

Hotswap for AppSync functions sometimes fails with Deployment failed: MissingRequiredParameter: Missing required key 'functionId' in params. This is because the SDK list function only retrieves the first page. In APIs where there are many functions it is possible for the hotswapped function to not be contained in the first page. This results in the previously mentioned error because the functionId is never retrieved.

Description of changes

List all AppSync functions for a given API by iterating through the pages with the nextToken. The change was modeled after a similar request here.

Description of how you validated changes

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@aws-cdk-automation aws-cdk-automation requested a review from a team September 11, 2024 14:19
@github-actions github-actions bot added beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK p2 labels Sep 11, 2024
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@aws-cdk-automation aws-cdk-automation added the pr/needs-cli-test-run This PR needs CLI tests run against it. label Sep 11, 2024
@dpilch dpilch marked this pull request as ready for review September 12, 2024 19:45
Copy link
Contributor

@kaizencc kaizencc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi! The cli integ test you wrote is not succeeding. Did you run this locally to ensure it worked? If not, the instructions for how to do so are here.

Specifically the failure is this:

const api = new appsync.GraphqlApi(this, "Api", {
--

ReferenceError: appsync is not defined

Looks like you need to add a line like this to the top of app.js. But please run the cli integ test on your own to ensure it does as its supposed to still!

Once that has been fixed i'll run it through the pipeline again.

@kaizencc kaizencc added the pr-linter/exempt-integ-test The PR linter will not require integ test changes label Sep 13, 2024
@aws-cdk-automation
Copy link
Collaborator

➡️ PR build request submitted to test-main-pipeline ⬅️

A maintainer must now check the pipeline and add the pr-linter/cli-integ-tested label once the pipeline succeeds.

@kaizencc kaizencc added pr-linter/cli-integ-tested Assert that any CLI changes have been integ tested and removed pr/needs-cli-test-run This PR needs CLI tests run against it. labels Sep 17, 2024
@aws-cdk-automation aws-cdk-automation dismissed their stale review September 17, 2024 16:52

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@mergify mergify bot dismissed kaizencc’s stale review September 17, 2024 16:55

Pull request has been modified.

@kaizencc kaizencc changed the title fix: list all appsync functions by iterating through the paginated list fix(cli): hotswapping appsync functions fails when API does not return function on the first page Sep 17, 2024
@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 2494ae6
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Copy link
Contributor

mergify bot commented Sep 17, 2024

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@mergify mergify bot merged commit 0da4f43 into aws:main Sep 17, 2024
9 of 10 checks passed
Copy link

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 17, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK p2 pr-linter/cli-integ-tested Assert that any CLI changes have been integ tested pr-linter/exempt-integ-test The PR linter will not require integ test changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants