【问题标题】:How to check file availability in S3 bucket如何检查 S3 存储桶中的文件可用性
【发布时间】:2015-02-18 07:17:55
【问题描述】:

我已将 aws v1 sdk 集成到我的 ios 应用程序中,以便使用 NSURLSession 以后台模式将视频上传到 S3 存储桶

但现在我想在开始上传之前检查存储桶中的文件可用性

为此,我设法获得了 V2 sdk How can I check the existence of a key/file on an Amazon S3 Bucket using AWS iOS SDK v2? 的链接

V1 中使用的链接是什么??

【问题讨论】:

    标签: ios objective-c amazon-web-services


    【解决方案1】:

    适用于 iOS 的 AWS 开发工具包现已贬值;所以我相信文档链接也一定已经被删除了。

    AWS 移动开发工具包版本 1 自 2014 年 9 月 29 日起已弃用 并且将在 2014 年 12 月 31 日之前继续提供。如果您是 构建新应用程序,我们建议您使用版本 2。如果您正在工作 在使用 AWS Mobile 版本 1(1.7.x 或更低版本)的现有应用程序上 SDK,您可以在此处下载适用于 Android 的 v1,在此处下载适用于 iOS 的 v1。 API 参考指南包含在相应的下载中。构建的应用程序 使用版本 1 将在 2014 年 12 月 31 日之后继续运行。 但是,我们强烈建议您将应用程序更新到最新版本 版本,以便您可以利用最新的功能和错误 修复。 来源http://aws.amazon.com/mobile/sdk/

    我设法从 AWS 移动博客 [http://mobile.awsblog.com/post/Tx15F6J3B8B4YKK/Creating-Mobile-Apps-with-Dynamic-Content-Stored-in-Amazon-S3] 找到了一个示例代码来获取 S3 对象,您可以从那里进行推断。

    -(void)getRemoteImage:(AmazonS3Client*)s3
                 withName:(NSString*)imageName
               fromBucket:(NSString*)bucketName
    {
        S3GetObjectRequest *request = 
           [[S3GetObjectRequest alloc] initWithKey:imageName withBucket:bucketName];
        S3GetObjectResponse *response = [s3 getObject:request];
    
        [self storeImageLocally:response.body withName:imageName];
    }
    

    v1 iOS SDK 下载链接:http://sdk-for-ios.amazonwebservices.com/aws-ios-sdk-1.7.1.zip

    【讨论】:

    • 感谢您的回复,但这给了我一个运行时异常,因为文件可能没有保存在 s3 存储桶中,
    • 异常 AmazonServiceException { RequestId:E128351E5CB99880, ErrorCode:NoSuchKey, 消息:指定的密钥不存在。 }
    • 所以处理这个异常;这表明 S3 文件没有退出。
    • 感谢@Naveen 的链接。即使认为 1.7.1 已贬值,但有时旧应用程序需要它。该链接有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2016-11-12
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2020-06-14
    • 1970-01-01
    • 2020-11-06
    相关资源
    最近更新 更多