Adrian Schweizer
11/03/2021, 11:04 PMaddDefaultFunctionEnv
Method of app Object. I'm trying to bulk pass table names from storage stack to lambdas by using the method like so:
StorageStack:
export default class StorageStack extends sst.Stack {
// Use public fields for reference in other stacks
tables;
constructor(scope, id, props) {
super(scope, id, props);
this.tables = {
users: new sst.Table(this, "Users", {
fields: {
// fieldspecs
},
// more table specs
}),
organisations: new sst.Table(this, "Organisations", {
fields: {
// fieldspecs
},
// more table specs
}),
... etc.
index.js:
export default function main(app) {
const storageStack = new StorageStack(app, "storage");
// Add table names to process environment for lambda functions
const tableNames = {};
Object.keys(storageStack.tables).forEach((key) => {
const name = 'TABLE_NAME_' + key.toUpperCase();
tableNames[name] = storageStack.tables[key].tableName;
});
console.log(tableNames);
app.addDefaultFunctionEnv(tableNames); // If i comment this line out, deployment works
... etc.
Adrian Schweizer
11/03/2021, 11:06 PM{
TABLE_NAME_USERS: '${Token[TOKEN.190]}',
TABLE_NAME_ORGANISATIONS: '${Token[TOKEN.197]}',
TABLE_NAME_EVENTS: '${Token[TOKEN.204]}',
TABLE_NAME_PARTICIPATIONS: '${Token[TOKEN.211]}'
}
thdxr
11/03/2021, 11:21 PMthdxr
11/03/2021, 11:21 PMAdrian Schweizer
11/03/2021, 11:22 PMthdxr
11/03/2021, 11:22 PMAdrian Schweizer
11/03/2021, 11:23 PMdev-convento-storage | UPDATE_FAILED | AWS::CloudFormation::Stack | dev-convento-storage
❌ dev-convento-storage failed: Stack dev-convento-storage failed to deploy: UPDATE_FAILED
Stack dev-convento-storage
Status: failed
Error: Stack dev-convento-storage failed to deploy: UPDATE_FAILED
thdxr
11/03/2021, 11:25 PMAdrian Schweizer
11/03/2021, 11:25 PMadsc@tp13:~/projects/convento$ npx sst start
Using stage: dev
Preparing your SST app
Transpiling source
Linting source
=======================
Deploying debug stack
=======================
Deploying stacks
✅ dev-convento-debug-stack (no changes)
Stack dev-convento-debug-stack
Status: no changes
Outputs:
BucketArn: arn:aws:s3:::dev-convento-debug-stack-bucket83908e77-1gxag50oy9bj7
BucketName: dev-convento-debug-stack-bucket83908e77-1gxag50oy9bj7
Endpoint: <wss://tzcbop6u9j.execute-api.eu-central-1.amazonaws.com/dev>
===============
Deploying app
===============
{
TABLE_NAME_USERS: '${Token[TOKEN.190]}',
TABLE_NAME_ORGANISATIONS: '${Token[TOKEN.197]}',
TABLE_NAME_EVENTS: '${Token[TOKEN.204]}',
TABLE_NAME_PARTICIPATIONS: '${Token[TOKEN.211]}'
}
Deploying stacks
Checking deploy status...
dev-convento-storage | UPDATE_IN_PROGRESS | AWS::CloudFormation::Stack | dev-convento-storage
dev-convento-storage | UPDATE_IN_PROGRESS | AWS::CloudFormation::Stack | dev-convento-storage
dev-convento-storage | UPDATE_FAILED | AWS::CloudFormation::Stack | dev-convento-storage
❌ dev-convento-storage failed: Stack dev-convento-storage failed to deploy: UPDATE_FAILED
Stack dev-convento-storage
Status: failed
Error: Stack dev-convento-storage failed to deploy: UPDATE_FAILED
Outputs:
ExportsOutputFnGetAttEventsTable4B7491D3ArnC8522F39: arn:aws:dynamodb:eu-central-1:787845945917:table/dev-convento-Events
ExportsOutputFnGetAttOrganisationsTableB3508D80ArnE9F35618: arn:aws:dynamodb:eu-central-1:787845945917:table/dev-convento-Organisations
ExportsOutputFnGetAttParticipationsTableDBCD3320ArnF53D0D65: arn:aws:dynamodb:eu-central-1:787845945917:table/dev-convento-Participations
ExportsOutputFnGetAttUploadsBucketC4B27CC7Arn515ECA45: arn:aws:s3:::dev-convento-storage-uploadsbucketc4b27cc7-tz4dlxcwm83z
ExportsOutputFnGetAttUsersTable6D91A5EEArnF6868322: arn:aws:dynamodb:eu-central-1:787845945917:table/dev-convento-Users
ExportsOutputRefUploadsBucketC4B27CC7CCC94A6B: dev-convento-storage-uploadsbucketc4b27cc7-tz4dlxcwm83z
Exports:
dev-convento-storage:ExportsOutputFnGetAttEventsTable4B7491D3ArnC8522F39: arn:aws:dynamodb:eu-central-1:787845945917:table/dev-convento-Events
dev-convento-storage:ExportsOutputFnGetAttOrganisationsTableB3508D80ArnE9F35618: arn:aws:dynamodb:eu-central-1:787845945917:table/dev-convento-Organisations
dev-convento-storage:ExportsOutputFnGetAttParticipationsTableDBCD3320ArnF53D0D65: arn:aws:dynamodb:eu-central-1:787845945917:table/dev-convento-Participations
dev-convento-storage:ExportsOutputFnGetAttUploadsBucketC4B27CC7Arn515ECA45: arn:aws:s3:::dev-convento-storage-uploadsbucketc4b27cc7-tz4dlxcwm83z
dev-convento-storage:ExportsOutputFnGetAttUsersTable6D91A5EEArnF6868322: arn:aws:dynamodb:eu-central-1:787845945917:table/dev-convento-Users
dev-convento-storage:ExportsOutputRefUploadsBucketC4B27CC7CCC94A6B: dev-convento-storage-uploadsbucketc4b27cc7-tz4dlxcwm83z
Stack dev-convento-api
Status: not deployed
Cannot convert undefined or null to object
Adrian Schweizer
11/03/2021, 11:26 PMAdrian Schweizer
11/03/2021, 11:26 PMthdxr
11/03/2021, 11:27 PMthdxr
11/03/2021, 11:27 PMthdxr
11/03/2021, 11:27 PMthdxr
11/03/2021, 11:28 PMAdrian Schweizer
11/03/2021, 11:29 PMthdxr
11/03/2021, 11:31 PMthdxr
11/03/2021, 11:31 PMAdrian Schweizer
11/03/2021, 11:31 PMExport with name dev-convento-storage:ExportsOutputRefUsersTable6D91A5EE2FC965A7 is already exported by stack dev-convento-storage
thdxr
11/03/2021, 11:32 PMthdxr
11/03/2021, 11:33 PMAdrian Schweizer
11/03/2021, 11:34 PMAdrian Schweizer
11/03/2021, 11:35 PMapp.addDefaultFunctionEnv
callthdxr
11/03/2021, 11:37 PMsst deploy --stack api
thdxr
11/03/2021, 11:38 PMthdxr
11/03/2021, 11:38 PMAdrian Schweizer
11/03/2021, 11:41 PMadsc@tp13:~/projects/convento$ npx sst deploy --stack api
Using stage: dev
Preparing your SST app
Transpiling source
Linting source
Building Lambda function src/users/list.main
Building Lambda function src/users/get.main
Building Lambda function src/users/create.main
Building Lambda function src/users/update.main
Building Lambda function src/users/delete.main
Building Lambda function src/organisations/post.main
Building Lambda function src/events/post.main
Building Lambda function src/participations/post.main
Building Lambda function src/registrations/post.main
> node_modules/@mapbox/node-pre-gyp/lib/util/s3_setup.js:43:28: error: Could not resolve "mock-aws-s3" (mark it as external to exclude it from the bundle, or surround it with try/catch to handle the failure at run-time)
43 │ const AWSMock = require('mock-aws-s3');
╵ ~~~~~~~~~~~~~
> node_modules/@mapbox/node-pre-gyp/lib/util/s3_setup.js:112:23: error: Could not resolve "nock" (mark it as external to exclude it from the bundle, or surround it with try/catch to handle the failure at run-time)
112 │ const nock = require('nock');
╵ ~~~~~~
There was a problem transpiling the Lambda handler.
There was an error synthesizing your app.
thdxr
11/03/2021, 11:41 PMsst start
againAdrian Schweizer
11/03/2021, 11:42 PMAdrian Schweizer
11/03/2021, 11:42 PMthdxr
11/03/2021, 11:49 PMAdrian Schweizer
11/03/2021, 11:55 PMAdrian Schweizer
11/04/2021, 12:15 AMAdrian Schweizer
11/04/2021, 12:17 AMAdrian Schweizer
11/04/2021, 3:14 AMAdrian Schweizer
11/04/2021, 3:15 AMapp.addDefaultFunctionEnv
in index.jsAdrian Schweizer
11/04/2021, 3:15 AMAdrian Schweizer
11/04/2021, 3:16 AMthdxr
11/04/2021, 3:20 AMthdxr
11/04/2021, 3:20 AMthdxr
11/04/2021, 3:20 AMMike McCall
11/04/2021, 3:14 PMAdrian Schweizer
11/06/2021, 10:15 PMdev-convento-storage | CREATE_FAILED | AWS::CloudFormation::Stack | dev-convento-storage Export with name dev-convento-storage:ExportsOutputRefUsersTable6D91A5EE2FC965A7 is already exported by stack dev-convento-storage
Adrian Schweizer
11/06/2021, 10:17 PMdev-convento-api | CREATE_FAILED | AWS::CloudFormation::Stack | dev-convento-api No export named dev-convento-storage:ExportsOutputFnGetAttParticipationsTableDBCD3320ArnF53D0D65 found
Adrian Schweizer
11/06/2021, 10:17 PMAdrian Schweizer
11/06/2021, 10:41 PM