gpt4 book ai didi

.net - Amazon SNS : How to get EndpointArn by token(registrationId) using amazon . 网络 SDK?

转载 作者:行者123 更新时间:2023-12-03 14:15:04 24 4
gpt4 key购买 nike

我正在尝试使用 aws .net sdk 通过注册 ID 获取 EndpointArn。但我找不到一个很好的方法来做到这一点。

我的第一次尝试是使用相同的registrationId运行CreatePlatformEndpointRequest,该registrationId之前已注册到SNS应用程序,由客户端(android)发送。通过这种方式,aws api 为您提供了此注册 ID 的 EndpointArn。

Amazon: The CreatePlatformEndpoint action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint.



但是,如果您在需要发送相同的用户数据以获取此注册 ID 的端点 arn 之前存储了一些内容到 CustomUserData,否则您会得到如下所示的异常。

Invalid parameter: Token Reason: Endpoint {My Endpoint ARN} already exists with the same Token, but different attributes.



我想我将在没有用户数据的情况下使用 CreatePlatformEndpoint(),当我需要 Endpoint Arn 作为registrationId 时,我将仅使用此注册 ID 运行 CreatePlatFormEndpoint。

有没有比上面的解决方案更好的通过 token 获取 EndpointArn 的方法?

谢谢你。

最佳答案

我们所做的是将 CreatePlatformEndpoint 返回的端点 ARN 存储在我们的应用程序数据库中。如果我们已经有一个给定设备注册 ID 的端点 ARN 关联,那么我们调用

getEndpointAttributes 从我们的数据库传入端点 arn。如果返回结果,我们将检查端点是否标记为启用,如果没有,则调用 setEndpointAttributes 并将键“启用”设置为“真”。

不幸的是,它看起来不像 Amazaon API 提供“findBy”方法来通过“CustomUserData”或“Token”进行查找,并且只有“list”方法可以列出所有现有端点,如果存在潜在的应用程序,这些端点是不够的数千或数百万个条目。几乎就好像 API 只是为了满足 Amazon 控制台 UI 用例而编写的。

此外,请参阅 Amazon 文档以获取示例 API 请求和响应

http://docs.aws.amazon.com/sns/latest/api/API_GetEndpointAttributes.html
http://docs.aws.amazon.com/sns/latest/api/API_SetEndpointAttributes.html

关于.net - Amazon SNS : How to get EndpointArn by token(registrationId) using amazon . 网络 SDK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22501373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com