首页 > 解决方案 > 使用 com.amazonaws.services.lambda.runtime.RequestStreamHandler 在 java SQS Lambda 中获取源队列名称

问题描述

给定一个实现:

package com.amazonaws.services.lambda.runtime;
                               ^^^^^^

public interface RequestStreamHandler {
    void handleRequest(InputStream var1, OutputStream var2, Context var3) throws IOException;
}

如何从中获取源队列名称Context似乎不作为上下文类的成员存在。
查看源日志数据,队列 ARN 存在。

{
    "Records": [
        {
            "messageId": "13d27732...",
            "receiptHandle": "AQEBsjoL...",
            "body": "<some JSON stuff>",
            "attributes": {
                "ApproximateReceiveCount": "1",
                "SentTimestamp": "1622660593099",
                "SequenceNumber": "18862145185542895616",
                "MessageGroupId": "C00028912",
                "SenderId": "AROA",
                "MessageDeduplicationId": "7860e3c1-46c2-431d-87dd-1adcb5b1a91a",
                "ApproximateFirstReceiveTimestamp": "1622660593099"
            },
            "messageAttributes": {},
            "md5OfBody": "5c9c0d388301b8456177e56883a3ad4a",
            "eventSource": "aws:sqs",
            "eventSourceARN": "arn:aws:sqs:eu-west-1:14540222944:sqs-messages.fifo",
            "awsRegion": "eu-west-1"
        }
    ]
}

源和源 ARN 可用,但似乎没有在Context.

标签: javaaws-lambdaamazon-sqs

解决方案


推荐阅读