Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    Hi here
    what would be the best way to compose two operations in scanamo
    for {
      maybeErrorOrOrderItem ← MojoTable.OrderItems.dynamoTable
        .get(UniqueKey(KeyEquals(AttributeName.of("id"), id)))
      maybeErrorOrProduct ← MojoTable.Products.dynamoTable
        .get(UniqueKey(KeyEquals(AttributeName.of("id"), oi.product_id))) // need to extract product id from maybeErrorOrOrderItem
    } yield (maybeErrorOrProduct)
    something like this
    i never used Free before
    and return type ption[Either[Throwable,T]] is confusing me

    Hi there. Just trying this out today and

        val client = LocalDynamoDB.client()
        import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType._
        val xx = LocalDynamoDB.createTable(client)("muppets")('name -> S)
        logger.info(s"Create: $xx")

    I just never see the logger info. It fails with : com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to localhost:8042 [localhost/] failed: Connection refused (Connection refused) I assume I should be running something in that port, what would that be?

    Thanks :D
    implicit val stringFormat: DynamoFormat[String] = new DynamoFormat[String] {
        final def read(av: DynamoValue) =
            if (av.isNull)
                av.asString.fold[Either[DynamoReadError, String]](Left(NoPropertyOfType("S", av)))(Right(_))
    shouldn't it be DynamoReadError if field is missing
    hi guys, im wondering, is it possible to get paged queries for secondary indexes?
    Markus Appel
    I am getting the following error:
    ExpressionAttributeNames contains invalid key: Syntax error; key: "#equalsConditionwork-stream" (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: 46FJK8FPVL1CSMDD859ERMS5G7VV4KQNSO5AEMVJF66Q9ASUAAJG)
    I filter and scan using scanamo-cats, like this:
        val client = ScanamoCats[IO](AmazonDynamoDBAsyncClientBuilder.defaultClient())
        val evaluations: Table[EvaluationJson] = Table[EvaluationJson]("Evaluation")
        def findOps(workstream: Workstream, search: Option[String]) = evaluations
            .filter("work-stream" -> workstream.entryName)
        def find(workstream: Workstream, search: Option[String]): IO[List[EvaluationJson]] = client
            .exec(findOps(workstream, search))
            .flatMap { list =>
                if (list.exists(_.isLeft)) IO.raiseError(new Exception(list.flatMap(_.left.toOption).map(_.toString).reduce((l, r) => l + "; " + r)))
                else IO(list.flatMap(_.toOption))
    When I query for a key without - it works
    Also, why are two sequential .filter operations different in terms of type signature?
    Markus Appel
    And when I try to use
    def findOps(workstream: Workstream, search: Option[String]) = evaluations
            .filter("name" beginsWith search.getOrElse(""))
    I get Invalid FilterExpression: Incorrect operand type for operator or function; operator or function: begins_with, operand type: NULL (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: QKSOES0SHJMT28VNSTLB01EBFRVV4KQNSO5AEMVJF66Q9ASUAAJG)
    Wiem Zine El Abidine
    Hi, scanamo doesn't work when we have updated to zio 1.0.0-RC-18
    I opened this PR and updated interop-cats that uses the last zio version: scanamo/scanamo#629
    Aleksey Troitskiy
    Ayush Tiwari
    @all is there any plan to upgrade scanamo to AWS SDK 2.0 ?
    Hi, there. Any plans for an upgrade to zio RC-18 onwards?
    How can I get a Map[K,V] DynamoFormat instance?
    Stephen Duncan Jr
    Trying to update to the current milestone of Scanamo (from 1.0.0-M8 to 1.0.0-M12-1). There used to be a Semigroup for UpdateExpression, but it was removed. The docs still demonstrate using reduce with this semigroup to combine optional updates, etc. Is there a replacement way to do this?
    Stephen Duncan Jr
    For now, I’ve added implicit val updateExpressionSemigroup: Semigroup[UpdateExpression] = Semigroup.instance(_ and _) to the three classes that needed it, but seems a shame to have everyone provide their own...
    Is there a way to get Scanamo Snapshots?
    Barys Ilyushonak
    Hi there, I hope it is the right place to ask questions about scanamo. I have a table with global secondary index with projection type INCLUDE , so I have only couple of fields in the index in comparison to the table itself. During query I have InvalidPropertiesError . Is that a way to query GSI with projection in scanamo?
    Rob Kelly
    when is the new version being released?
    Harmeet Singh(Taara)
    Hey all, is it possible to do parallel scan using Scanamo ?
    Hey all, I have been trying to create a table with more than one GSI but wouldn't. I am able to create a table with a single GSI and query the same though. Couldn't find examples for more than one GSI too. Can someone please point me to some resource/functions on how to do it.Thanks!!
    Dario Abdulrehman
    Does anyone know what motivated M12-1 to change the return type for ScanamoFree#putAll to ScanamOps[Unit]? https://github.com/scanamo/scanamo/blame/40c50ebea1449bad32c34fd312dbac46c5a57b75/scanamo/src/main/scala/org/scanamo/ScanamoFree.scala#L51
    ^ cc @regiskuckaertz Thanks!