]> git.proxmox.com Git - ceph.git/blame - ceph/examples/boto3/append_object.py
buildsys: change download over to reef release
[ceph.git] / ceph / examples / boto3 / append_object.py
CommitLineData
9f95a23c
TL
1#!/usr/bin/python
2from __future__ import print_function
3
4import boto3
5import sys
6import json
7
8def js_print(arg):
9 print(json.dumps(arg, indent=2))
10
11if len(sys.argv) != 3:
12 print('Usage: ' + sys.argv[0] + ' <bucket> <key>')
13 sys.exit(1)
14
15# bucket name as first argument
16bucketname = sys.argv[1]
17keyname = sys.argv[2]
18# endpoint and keys from vstart
19endpoint = 'http://127.0.0.1:8000'
20access_key='0555b35654ad1656d804'
21secret_key='h7GhxuBLTrlhVUyxSPUKUV8r/2EI4ngqJxD7iBdBYLhwluN30JaT3Q=='
22
23client = boto3.client('s3',
24 endpoint_url=endpoint,
25 aws_access_key_id=access_key,
26 aws_secret_access_key=secret_key)
27
28print('deleting object first')
29js_print(client.delete_object(Bucket=bucketname, Key=keyname))
30print('appending at position 0')
31resp = client.put_object(Bucket=bucketname, Key=keyname,
32 Append=True,
33 AppendPosition=0,
34 Body='8letters')
35
36js_print(resp)
37append_pos = resp['AppendPosition']
38print('appending at position %d' % append_pos)
39js_print(client.put_object(Bucket=bucketname, Key=keyname,
40 Append=True,
41 AppendPosition=append_pos,
42 Body='8letters'))