コード例 #1
0
ファイル: index.py プロジェクト: FunctionStage/ImageThumbnail
def PostObject(obsAddr, bucket, objName, ak, sk):
    TestObs = ObsClient(access_key_id=ak,
                        secret_access_key=sk,
                        is_secure=secure,
                        server=obsAddr,
                        signature=signature,
                        path_style=path_style,
                        region=region,
                        ssl_verify=False,
                        port=port,
                        max_retry_count=5,
                        timeout=20)

    Lheaders = PutObjectHeader(md5=None,
                               acl='private',
                               location=None,
                               contentType='text/plain')

    Lheaders.sseHeader = SseKmsHeader.getInstance()
    h = PutObjectHeader()
    Lmetadata = {'key': 'value'}

    objPath = TEMP_ROOT_PATH + objName
    resp = TestObs.postObject(bucketName=bucket,
                              objectKey=objName,
                              file_path=objPath,
                              metadata=Lmetadata,
                              headers=h)
    if isinstance(resp, list):
        for k, v in resp:
            print('PostObject, objectKey', k, 'common msg:status:', v.status,
                  ',errorCode:', v.errorCode, ',errorMessage:', v.errorMessage)
    else:
        print('PostObject, common msg: status:', resp.status, ',errorCode:',
              resp.errorCode, ',errorMessage:', resp.errorMessage)
コード例 #2
0
def PutFile():
    Lheaders = PutObjectHeader(md5=None, acl='private', location=None, contentType='text/plain')

    Lheaders.sseHeader = SseKmsHeader.getInstance()

    Lmetadata = {'key': 'value'}
    file_path = '/temp/test.txt'

    resp = TestObs.putFile(bucketName='bucket001', objectKey='test.txt', file_path=file_path,
                              metadata=Lmetadata, headers=Lheaders)
    if isinstance(resp, list):
        for k, v in resp:
            print('objectKey',k, 'common msg:status:', v.status, ',errorCode:', v.errorCode, ',errorMessage:', v.errorMessage)
    else:
        print('common msg:status:', resp.status, ',errorCode:', resp.errorCode, ',errorMessage:', resp.errorMessage)
コード例 #3
0
    def __init__(self, conf=None):
        if not conf:
            self.__conf__ = get_settings_environment("pro")

        #缺省配置
        self.__ak__ = self.__conf__.OBS_AK if conf is not None else _AK
        self.__sk__ = self.__conf__.OBS_SK if conf is not None else _SK
        self.__issecure__ = self.__conf__.OBS_ISSECURE if conf is not None else _ISSECURE
        self.__server__ = self.__conf__.OBS_SERVER if conf is not None else _SERVER
        self.__signature__ = self.__conf__.OBS_SIGNATURE if conf is not None else _SIGNATURE
        self.__region__ = self.__conf__.OBS_REGION if conf is not None else _REGION
        self.__client__ = ObsClient(access_key_id=self.__ak__,
                                    secret_access_key=self.__sk__,
                                    is_secure=self.__issecure__,
                                    server=self.__server__,
                                    signature=self.__signature__,
                                    region=self.__region__)

        #缺省桶名称
        self.__bucketname__ = self.__conf__.OBS_BUCKETNAME

        #消息头
        self.__header__ = PutObjectHeader(md5=self.__conf__.OBS_MD5,
                                          acl=self.__conf__.OBS_ACL,
                                          location=self.__conf__.OBS_LOCATION)
コード例 #4
0
def PutContent():
    sseHeader = SseKmsHeader.getInstance() 
    Lheaders = PutObjectHeader(md5=None, acl='private', location=None, contentType='text/plain', sseHeader=sseHeader)

    Lmetadata = {'key': 'value'}

    resp = TestObs.putContent(bucketName='bucket001', objectKey='test.txt', content='msg content to put',
                             metadata=Lmetadata, headers=Lheaders)

    print('common msg:status:', resp.status, ',errorCode:', resp.errorCode, ',errorMessage:', resp.errorMessage)
    print(resp.header)
コード例 #5
0
def PostObject(bucketname, dirName, filePath):
    '''
    引入库: from com.obs.client.obs_client import ObsClient
    from com.obs.models.put_object_header import PutObjectHeader
    from com.obs.models.server_side_encryption import SseKmsHeader,SseCHeader
    函数原型:postObject(self, bucketName, objectKey, file_path, metadata=None, headers=None)
    函数功能:上传对象 (上传内容)
    参数说明: bucketName:桶名 (必填)
    objectKey:对象名
    dirName: 如果上传的是目录,该名称是保存到OBS桶中的名称

    file_path:上传文件路径,支持文件夹上传
    metadata:加入自定义的元数据,以便对对象进行自定义管理
    headers:附加消息头
    返回值:GetResult对象,GetResult.header: 返回头部信息 , GetResult.body: None
   '''

    Lheaders = PutObjectHeader(md5=None,
                               acl='private',
                               location=None,
                               contentType='text/plain')
    # Lheaders.md:对象的MD5值
    # Lheaders.acl:可以加上此消息头设置对象的权限控制策略,使用的策略为预定义的常用策略
    # Lheaders.location:当桶设置了Website配置,可以将获取这个对象的请求重定向到桶内另一个对象或一个外部的URL
    # Lheaders.contentType:对象的类型
    # Lheaders.sseHeader:服务端加密头信息

    # Lheaders.sseHeader = SseKmsHeader.getInstance()

    Lmetadata = {'key': 'value'}
    #file_path = r'C:\test.txt'

    resp = TestObs.postObject(bucketName=bucketname,
                              objectKey=dirName,
                              file_path=filePath,
                              metadata=Lmetadata,
                              headers=Lheaders)
    if isinstance(resp, list):
        for k, v in resp:
            print('objectKey', k, 'common msg:status:', v.status,
                  ',errorCode:', v.errorCode, ',errorMessage:', v.errorMessage)
    else:
        print('common msg:status:', resp.status, ',errorCode:', resp.errorCode,
              ',errorMessage:', resp.errorMessage)
コード例 #6
0
def PutObject(bucketname, fileName, fileContent):
    '''
    引入库: from com.obs.client.obs_client import ObsClient
    from com.obs.models.put_object_header import PutObjectHeader
    from com.obs.models.server_side_encryption import SseKmsHeader,SseCHeader
    函数原型:putObject(self, bucketName, objectKey, content, metadata=None, headers=PutObjectHeader())
    函数功能:上传对象 (上传内容)
    参数说明: bucketName:桶名 (必填)
    objectKey:对象名
    content:对象内容
    metadata:加入自定义的元数据,以便对对象进行自定义管理
    headers:附加消息头
    返回值:GetResult对象,GetResult.header: 返回头部信息 , GetResult.body: None
   '''
    sseHeader = SseKmsHeader.getInstance()  #设置SSE-KMS加密
    #sseHeader = SseCHeader.getInstance(key='xxxxx') #设置SSE-C加密,传入密钥
    #Lheaders = PutObjectHeader(md5=None, acl='private', location=None, contentType='text/plain', sseHeader=sseHeader)
    Lheaders = PutObjectHeader(md5=None,
                               acl='private',
                               location=None,
                               contentType='image/png')

    # contentType :'text/plain' 文本 image/png png格式的图片 image/jpeg jpeg格式的图片
    # Lheaders.md:对象的MD5值
    # Lheaders.acl:可以加上此消息头设置对象的权限控制策略,使用的策略为预定义的常用策略
    # Lheaders.location:当桶设置了Website配置,可以将获取这个对象的请求重定向到桶内另一个对象或一个外部的URL

    Lmetadata = {'key': 'value'}

    resp = TestObs.putObject(bucketname,
                             objectKey=fileName,
                             content=fileContent,
                             metadata=Lmetadata,
                             headers=Lheaders)

    print('common msg:status:', resp.status, ',errorCode:', resp.errorCode,
          ',errorMessage:', resp.errorMessage)
    print(resp.header)
コード例 #7
0
from com.obs.client.obs_client import ObsClient
# Constructs a obs client instance with your account for accessing OBS
obsClient = ObsClient(access_key_id=AK,
                      secret_access_key=SK,
                      server=server,
                      signature=signature,
                      path_style=path_style)

# Create bucket
print('Create a new bucket for demo\n')
obsClient.createBucket(bucketName)

from com.obs.models.put_object_header import PutObjectHeader

# Setting object mime type
headers = PutObjectHeader(contentType='text/plain')

# Setting self-defined metadata
metadata = {'meta1': 'value1', 'meta2': 'value2'}

resp = obsClient.putContent(bucketName,
                            objectKey,
                            'Hello OBS',
                            metadata=metadata,
                            headers=headers)
if resp.status < 300:
    print('Create object ' + objectKey + ' successfully!\n')
else:
    print('common msg:status:', resp.status, ',errorCode:', resp.errorCode,
          ',errorMessage:', resp.errorMessage)
コード例 #8
0
 def set_putobjectheader(self, md5=None, acl=None, location=None):
     '''
     #设置消息头
     '''
     self.__header__ = PutObjectHeader(md5=md5, acl=acl, location=location)