我有一个更新DynamoDB项目的Java函数.我想处理由于某种原因更新不成功的情况.我的代码看起来像这样:
Table table = dynamoDB.getTable(tableName);
AttributeUpdate att = new attributeUpdate(fieldName).put(value);
UpdateItemOutcome outcome = table.updateItem(keyFieldName, keyValue, att);
Run Code Online (Sandbox Code Playgroud)
updateItem调用的结果是UpdateItemOutcome对象.所有这一切都是一个getItem()方法,它应该提供更新操作的返回属性,以及一个提供UpdateItemResult对象的getUpdateItemResult()方法.
即使调用成功,getItem()也会为null.UpdateItemResult对象似乎没有任何方法可以为我提供有关操作的任何类型的状态或错误.
有谁知道在DynamoDB中检查这样的操作结果的最佳做法是什么?这个问题也与putItem()操作有关.
谢谢!
我在通过 iOS 共享表将图像共享到 Instagram 时遇到问题。我需要通过 URL 将图像共享到本地文件,因为我希望图像在共享时以某种方式命名,这是我发现我可以做到的唯一方法。代码是:
//This saves the image into the local temp directory and returns the file url
saveImageForSharing(image: image!) {(tempUrl) in
if tempUrl != nil {
let objectsToShare = [tempUrl!]
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
self.present(activityVC, animated: true, completion: nil)
}
}
Run Code Online (Sandbox Code Playgroud)
当 UIActivityViewController 出现时,您可以成功地将图像分享到所有可用的服务(包括 Facebook、电子邮件、Twitter 等),除了 Instagram。分享到Instagram时,弹出以下错误:

为 UIActivityViewController 的 completionWithItemsHandler 设置完成处理程序,'success' 参数返回为 false,但错误对象为 nil,因此没有关于出错的信息。
直接共享一个 UIImage 是没有问题的。保存到不同的 URL 或更改文件名时也是如此。
任何想法在这里可能发生的事情,或者我如何在设置项目名称的同时成功共享图像?
编辑:我在尝试通过其 url 共享视频时也遇到了这个问题。该视频仅存储在照片库中,我无法让 Instagram 接受它,即使从照片应用程序共享时它共享得非常好!此外,我在输出控制台中收到一条消息,显示“无法为 URL: ssue 沙箱令牌”。有什么建议吗?
谢谢!
我正在向Facebook发送结构化消息,其中包含指向图像文件的URL(该文件位于Amazon S3中)。该消息是根据https://developers.facebook.com/docs/messenger-platform/send-api-reference/generic-template(通用模板)构造的。
消息已被接收并显示得很好-但该图像未出现在移动iOS Messenger应用中(我没有测试Android)。它确实出现在Messenger的Web版本中。
有人知道是什么原因引起的吗?
提前致谢!