跳转到主要内容

sentry-sdk的SQS传输

项目描述

https://img.shields.io/pypi/v/sentry_sqs_transport.svg https://travis-ci.cn/terrycain/sentry-sqs-transport.svg?branch=master Updates

一个简单的AWS SQS sentry-sdk传输,借鉴了https://github.com/Netflix-Skunkworks/raven-sqs-proxy的想法。

它紧密遵循HTTPTransport,只是将HTTP POST部分替换为SQS Send Message。

安装

要安装

pip install sentry-sqs-transport

以下是使用传输的示例(注意transport关键字参数)。

import sentry_sdk
from sentry_sdk.integrations.aws_lambda import AwsLambdaIntegration
from sentry_sqs_transport import SQSTransport

sentry_sdk.init(
    dsn="https://00000000000000000000000000000000@sentry.example.org/11",
    integrations=[AwsLambdaIntegration()],
    transport=SQSTransport,

    # Optional
    sqs_queue_url='https://sqs.eu-west-2.amazonaws.com/000000000000/SomeQueue',
    sqs_client_kwargs={'region_name': 'us-east-1'}
)

配置

要配置要使用的SQS队列,请在SDK初始化函数中将sqs_queue_url传递为值,即SQS队列URL。您还可以设置环境变量SENTRY_SQS_QUEUE_URL

sqs_client_kwargs参数应是一个字典,将被传递到boto3客户端,如boto3.client('sqs', **sqs_client_kwargs)

SQS消息格式

放置在SQS队列上的消息格式是一个JSON有效负载,如下例所示。正文是SDK通常要发布的base64形式的内容,也是gzip压缩的。

{
  "method": "POST",
  "headers": {
    "User-Agent": "string",
    "X-Sentry-Auth": "string",
    "Content-Type": "application/json",
    "Content-Encoding": "gzip",
  },
  "url": "https://sentry.example/org",
  "body": "base64 string"
}

Sentry SQS消费者

resources文件夹中有一个简单的lambda函数,将消费这些sentry事件并从SQS队列中发送到sentry。

待办事项

  • 添加测试

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

sentry-sqs-transport-1.0.1.tar.gz (9.6 kB 查看哈希值)

上传时间

构建分发

sentry_sqs_transport-1.0.1-py3-none-any.whl (8.3 kB 查看哈希值)

上传时间 Python 3