Error: The specified resource was not found at checkStatus

Backendless Version (3.x / 6.x, Online / Managed / Pro )

Online

Client SDK (REST / Android / Objective-C / Swift / JS )

Cloud Code/JS

Application ID

AE4235E1-DBB7-C6F0-FF4A-E0378B0B2B00

Expected Behavior

Please describe the expected behavior of the issue, starting from the first action.

  1. Can run the function without issues

Actual Behavior

  1. Running custom function produces the error below

13:6:21.383 | SERVER_CODE | ERROR | [278314] Error: The specified resource was not found at checkStatus (/usr/local/lib/node_modules/backendless-coderunner/node_modules/backendless-request/lib/request.js:345:9) at processTicksAndRejections (internal/process/task_queues.js:95:5)

Reproducible Test Case

See our sendEmails timer.

For some additional context, I believe this error is being thrown in a custom codeless function with some custom JS code in it that uses the aws-sdk. We havent worked on this function a month or so, and it definitely worked before - we haven’t changed anything and now it throws this error.

The deployment model the sendEmails timer is in was redeployed as early as today:

Please create a minimal reproducible example that demonstrates the issue and we will be happy to look into it.

Regards,
Mark

Yes, I redeployed it today in an attempt to debug it and add logging statements. It’s still throwing the same error though as seen in the logs.

Edit: For additional context, I believe (but can’t tell for sure) this error is being thrown somewhere in our awsSESv2SendEmail custom function. Here is the custom code we use to make API calls to SES:

const AWS = require('aws-sdk');

AWS.config.update({
  region: awsRegion,
  credentials: new AWS.Credentials(awsAccessKeyId, awsSecretAccessKey)
});

const sesv2 = new AWS.SESV2();

const emailParams = {
  FromEmailAddress: fromEmailAddress,
  Destination: {
    ToAddresses: toAddresses,
    BccAddresses: bccAddresses,
    CcAddresses: ccAddresses
  },
  Content: {
    Simple: {
      Subject: {
        Data: subject,
      },
      Body: {
        Html: {
          Data: htmlBody,
        }
      }
    }
  },
  ReplyToAddresses: replyToAddresses
};

function sendEmailPromise(params) {
  return new Promise((resolve, reject) => {
    sesv2.sendEmail(params, (err, data) => {
      if (err) {
        reject(err);
      } else {
        resolve(data);
      }
    });
  });
}

return sendEmailPromise(emailParams);

Ok…so apparently this was due to trying to read a non existent file elsewhere using the file API codeless blocks, I just couldn’t tell from the error message.