{"action":"created","issue":{"url":"https://api.github.com/repos/boto/boto3/issues/64","labels_url":"https://api.github.com/repos/boto/boto3/issues/64/labels{/name}","comments_url":"https://api.github.com/repos/boto/boto3/issues/64/comments","events_url":"https://api.github.com/repos/boto/boto3/issues/64/events","html_url":"https://github.com/boto/boto3/issues/64","id":57217267,"number":64,"title":"S3 multipart upload: how to add parts?","user":{"login":"tgal","id":1301946,"avatar_url":"https://avatars.githubusercontent.com/u/1301946?v=3","gravatar_id":"","url":"https://api.github.com/users/tgal","html_url":"https://github.com/tgal","followers_url":"https://api.github.com/users/tgal/followers","following_url":"https://api.github.com/users/tgal/following{/other_user}","gists_url":"https://api.github.com/users/tgal/gists{/gist_id}","starred_url":"https://api.github.com/users/tgal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgal/subscriptions","organizations_url":"https://api.github.com/users/tgal/orgs","repos_url":"https://api.github.com/users/tgal/repos","events_url":"https://api.github.com/users/tgal/events{/privacy}","received_events_url":"https://api.github.com/users/tgal/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/boto/boto3/labels/documentation","name":"documentation","color":"d7e102"},{"url":"https://api.github.com/repos/boto/boto3/labels/question","name":"question","color":"cc317c"}],"state":"closed","locked":false,"assignee":{"login":"danielgtaylor","id":106826,"avatar_url":"https://avatars.githubusercontent.com/u/106826?v=3","gravatar_id":"","url":"https://api.github.com/users/danielgtaylor","html_url":"https://github.com/danielgtaylor","followers_url":"https://api.github.com/users/danielgtaylor/followers","following_url":"https://api.github.com/users/danielgtaylor/following{/other_user}","gists_url":"https://api.github.com/users/danielgtaylor/gists{/gist_id}","starred_url":"https://api.github.com/users/danielgtaylor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielgtaylor/subscriptions","organizations_url":"https://api.github.com/users/danielgtaylor/orgs","repos_url":"https://api.github.com/users/danielgtaylor/repos","events_url":"https://api.github.com/users/danielgtaylor/events{/privacy}","received_events_url":"https://api.github.com/users/danielgtaylor/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2015-02-10T18:44:50Z","updated_at":"2015-09-10T17:18:51Z","closed_at":"2015-02-10T22:34:47Z","body":"Hi! I'm not sure how to do this, could you clarify? (boto3 0.0.7)\r\n```\r\n>>> import boto3\r\n>>> s3 = boto3.resource('s3')\r\n>>> bucket = s3.Bucket('ubitricity-backup')\r\n>>> o = bucket.Object('test')\r\n>>> mpu = o.initiate_multipart_upload()\r\n>>> part = mpu.MultipartUploadPart(1)\r\n>>> part.upload('datadatadata')\r\n{u'ETag': '\"d41d8cd98f00b204e9800998ecf8427e\"', 'ResponseMetadata': {'HTTPStatusCode': 200, 'HostId': 'leCanviHIAh0lS9UursVkiMiyzksNVMAn+jYgyClzp5us8mpCjwB06WEeifjy7LX', 'RequestId': '6C5B491C7D0E7060'}}\r\n>>> mpu.complete()\r\nTraceback (most recent call last):\r\n  File \"<stdin>\", line 1, in <module>\r\n  File \"/usr/local/lib/python2.7/dist-packages/boto3/resources/factory.py\", line 379, in do_action\r\n    response = action(self, *args, **kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/boto3/resources/action.py\", line 77, in __call__\r\n    response = getattr(parent.meta.client, operation_name)(**params)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/client.py\", line 299, in _api_call\r\n    raise ClientError(parsed_response, operation_name)\r\nbotocore.exceptions.ClientError: An error occurred (InvalidRequest) when calling the CompleteMultipartUpload operation: You must specify at least one part\r\n```\r\nI understand the MultipartUploadPart is not being added to the MultipartUpload object. But how is it done? I was looking for a method like mpu.add_part() but there is none.\r\n\r\nThank you!"},"comment":{"url":"https://api.github.com/repos/boto/boto3/issues/comments/139315941","html_url":"https://github.com/boto/boto3/issues/64#issuecomment-139315941","issue_url":"https://api.github.com/repos/boto/boto3/issues/64","id":139315941,"user":{"login":"balihoo-gens","id":7905701,"avatar_url":"https://avatars.githubusercontent.com/u/7905701?v=3","gravatar_id":"","url":"https://api.github.com/users/balihoo-gens","html_url":"https://github.com/balihoo-gens","followers_url":"https://api.github.com/users/balihoo-gens/followers","following_url":"https://api.github.com/users/balihoo-gens/following{/other_user}","gists_url":"https://api.github.com/users/balihoo-gens/gists{/gist_id}","starred_url":"https://api.github.com/users/balihoo-gens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balihoo-gens/subscriptions","organizations_url":"https://api.github.com/users/balihoo-gens/orgs","repos_url":"https://api.github.com/users/balihoo-gens/repos","events_url":"https://api.github.com/users/balihoo-gens/events{/privacy}","received_events_url":"https://api.github.com/users/balihoo-gens/received_events","type":"User","site_admin":false},"created_at":"2015-09-10T17:18:51Z","updated_at":"2015-09-10T17:18:51Z","body":"Would certainly be nice if the test contained more than one part."}}