Fatih Erdinç
05/14/2022, 5:30 PMconst domainLogsTable = new sst.Table(this, process.env.TABLE_DOMAINLOGS, {
fields: {
id: sst.TableFieldType.STRING,
domainName: sst.TableFieldType.STRING,
time: sst.TableFieldType.NUMBER
},
primaryIndex: {partitionKey: "id"},
globalIndexes: {
domainNameIndex: {partitionKey: "domainName", projection: "all", sortKey: "time"}
},
dynamodbTable: {
removalPolicy: RemovalPolicy.DESTROY,
},
});
const domainTable = new sst.Table(this,process.env.TABLE_DOMAIN, {
fields: {
domainName: sst.TableFieldType.STRING
},
primaryIndex: {partitionKey: "domainName"}
});
const api = new sst.Api(this, "Api", {
routes: {
"GET /": "src/lambda.handler",
},
defaultFunctionProps: {
permissions: [domainTable,domainLogsTable]
}
});
but i get accessdeniedexception when put item to dynamodbiery
05/14/2022, 8:23 PMconst api = new sst.Api(this, "Api", {
routes: {
"GET /": "src/lambda.handler",
},
defaults: {
function: {
permissions: [domainTable.table, domainLogsTable.table]
}
}
});
Fatih Erdinç
05/15/2022, 11:13 AMFatih Erdinç
05/16/2022, 4:01 PMconst storageStack = new StorageStack(app, "storage")
const apiStack = new ApiStack(app, "api-stack", {
tableDomain: storageStack.tableDomain,
tableDomainLogs: storageStack.tableDomainLogs
});
//ApiStack.js
const {tableDomain, tableDomainLogs} = props;
const api = new sst.Api(this, "Api", {
routes: {
"GET /": "get.main"
},
defaultFunctionProps: {
environment: {
tableDomain: tableDomain.tableName,
tableDomainLogs: tableDomainLogs.tableName
}
}
});