【问题标题】:How to develop Apps for AWS SQS using Kotlin如何使用 Kotlin 为 AWS SQS 开发应用程序
【发布时间】:2022-09-27 21:49:39
【问题描述】:

我正在寻找用 Kotlin for Android 编写的最新 AWS SQS 库。您在项目中使用什么来找到正确的解决方案? ...或者您可以使用用 Java 编写的库来解决问题?:)

问候

  • 为什么有人要关闭这个有效的问题>?
  • 因为在雕像 - > stackoverflow 中不是为了推荐,也许我将它更改为解决方案或问题,它会是 +1? :)

标签: android amazon-web-services kotlin amazon-sqs


【解决方案1】:

AWS 现在提供新的适用于 Kotlin 的 AWS 开发工具包.您可以使用此 SDK 构建原生 Android 应用程序(和其他 Kotlin 应用程序)。此 SDK 支持 AWS 服务,例如 SNS。 SQS、S3 等。

您可以在此处找到 DEV 指南:

AWS SDK for Kotlin Developer Guide

要了解如何使用此 SDK,请参阅 。

Get started with the SDK for Kotlin

更新

根据您的评论,我正在更新此答案。首先,Kotlin SDK 没有构建器作为服务客户端的一部分。要使用 Kotlin 执行 SQS 操作,您可以使用如下语法:

suspend fun sendMessages(queueUrlVal: String, message: String) {
    println("Sending multiple messages")
    println("\nSend message")
    val sendRequest = SendMessageRequest {
        queueUrl = queueUrlVal
        messageBody = message
        delaySeconds = 10
    }

    SqsClient { region = "us-east-1" }.use { sqsClient ->
        sqsClient.sendMessage(sendRequest)
        println("A single message was successfully sent.")
    }
}

如果你想在一个运行良好的 Android 项目中使用 Kotlin SDK,你需要正确处理 creds。我使用了 StaticCredentialsProvider 提供程序,它工作正常:

val staticCredentials = StaticCredentialsProvider {
            accessKeyId = "<Enter key>"
            secretAccessKey = "<Enter key>"
        }

【讨论】:

  • 不幸的是,从文档中不清楚如何使用 Kotlin 在 Android 中初始化凭据或凭据提供程序。 stackoverflow.com/questions/73854349/… 使用文档中的示例不起作用,其他解决方案根本不起作用。例如没有 SQSClientBuilder 类。 val sqs = SQSClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(DefaultAWSCredentialsProviderChain()) .build()
  • Kotlin SDK 没有 Builder 作为 SDK 的一部分。我会更新我的答案。
猜你喜欢
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
  • 2017-07-12
  • 2020-01-12
  • 2012-08-09
  • 2011-09-25
  • 2015-11-20
  • 1970-01-01
相关资源
最近更新 更多