Skip to content

Docs: Suggestions for Idempotency #1572

Closed
@brnkrygs

Description

@brnkrygs

What were you searching in the docs?

I was working on setting up an environment to beta test the new idempotency package - specifically trying to understand how to implement the function wrapper. Feedback has been shared through other channels, but felt it appropriate to capture here as well.

Is this related to an existing documentation section?

https://docs.powertools.aws.dev/lambda/typescript/latest/api/modules/_aws_lambda_powertools_idempotency.html#function-wrapper

How can we improve?

First, thanks for working on this package! Excited to see it approaching launch.

* 2nd sentence of intro paragraph: “use it to wrapp a function”
* middy example doesn’t make sense, doesn’t use `processingFunction` anywhere
* under Usage, permissions aren’t listed (broken link), can’t find this anywhere actually
* need guidance on DynamoDB table structure
* if DynamoDB table isn't automatically created, remove statement saying it will be
* fix example import for `DynamoDBPersistenceLayer`
* example has `processingFunction` spelling wrong in one case
* example needs to actually _invoke_ `processingFunction`
* middy example uses APIGW example types, but has `SQSRecord` as `processingFunction` parameter
* on Interface `DynamoDBPersistenceOptionsWithClientInstance` page, awsSdkV3Client description references AppConfigProvider

Got a suggestion in mind?

  • suggest link to JMES docs (to be honest, I was surprise that JSONPath wasn't used. Isn't it more idiomatic? Maybe that's just me though).
  • clarify how cascading behavior of AWS client generation works for DynamoDB Persistence Layer (using provided one over generated one)
  • suggest a more thorough description of what dataKeywordArgument does, including fallback behavior if there isn’t a match, and how it does or does not interact with eventKeyJmesPath
  • consider discussing how one could write unit tests to exercise wrapped functions

Acknowledgment

  • I understand the final update might be different from my proposed suggestion, or refused.

Metadata

Metadata

Assignees

Labels

completedThis item is complete and has been merged/shippeddocumentationImprovements or additions to documentationidempotencyThis item relates to the Idempotency Utility

Type

No type

Projects

Status

Shipped

Relationships

None yet

Development

No branches or pull requests

Issue actions