Con un script JS, recupero el arn de flujo de mi tabla de DynamoDB.
Me gustaría enviar este arn al archivo serverless.yml para usarlo en mi función.
Mi versión sin servidor:
$ serverless -v Framework Core: 2.71.0 (standalone) Plugin: 5.5.3 SDK: 4.3.0 Components: 3.18.1Mi script JS funciona:
"use strict"; const AWS = require("aws-sdk"); async function run() { const region = 'eu-west-3'; const tableName = 'dev-Connect-TrzConnect'; const dynamoDBStreams = await getDynamoDBStreams(region, tableName); let streamArn = null; dynamoDBStreams.Streams.forEach((stream) => { streamArn = stream.StreamArn; }) return streamArn; } const getDynamoDBStreams = async (region, tableName) => { const dynamoStreams = new AWS.DynamoDBStreams({ region: region, }); const params = { TableName: tableName, }; return dynamoStreams.listStreams(params).promise(); }; run().then((r) => console.log(r)) Ahora, no tengo idea de cómo recuperar el valor de la variable streamArn en serverless.yml y usarlo allí:
functions: createStatementFiles: handler: lambda/statement.php timeout: 899 # 14min 59s layers: - arn:aws:lambda:#{AWS::Region}:<account_id>:layer:php-73:1 role: CreateStatementFilesRole reservedConcurrency: 10 events: - stream: type: dynamodb arn: ${streamArn} filterPatterns: - eventName: [INSERT] dynamodb: NewImage: __partitionKey: S: [statementBalance]Busco tener algo como esto:
- stream: type: dynamodb arn: ${streamArn}Leí esta documentación https://www.serverless.com/framework/docs/guides/plugins/creating-plugins pero no entendí del todo cómo solucionar mi necesidad.
Podrías ayudarme ?