您好,欢迎访问上海聚搜信息技术有限公司官方网站!

华为云代理商:华为云服务器如何从OBS触发器事件event里获取桶名、对象名?

时间:2023-08-23 16:34:33 点击:

  华为云服务器如何从OBS触发器事件event里获取桶名、对象名

  【聚搜云】是上海聚搜信息技术有限公司旗下品牌,坐落于魔都上海,服务于全球、2019年成为阿里云代理商生态合作伙伴。与阿里云代理商腾讯云、华为云、西部数码、美橙互联、AWS亚马逊云国际站渠道商、聚搜云,长期战略合作的计划!华为云国际站代理商专业的云服务商!

  【华为云服务器如何从OBS触发器事件event里获取桶名、对象名】本文由华为云渠道商[聚搜云][www.4526.cn]撰写。当我们在使用华为云存储OBS服务时,经常需要从触发器事件中获取桶名、对象名等相关信息进行处理。那么在华为云服务器上如何实现呢?

  首先,我们需要创建一个OBS触发器并配置好相应的事件通知地址。然后,在华为云服务器上安装Python AWS SDK以便能够调用AWS的API来获取桶名和对象名。下面我们来详细介绍一下具体实现方式。

  1.创建OBS触发器并配置事件通知地址

  在OBS服务控制台中,我们需要创建一个OBS触发器,并在其中配置好相应的事件通知地址。在此处,我们需将事件通知地址指向自己的HTTP服务端口。当有新的对象上传到OBS时,OBS将会向此地址发送一个POST请求,携带相关的事件信息。

224dbdb5b8c347d18438c7ce8f1f3edd.jpg

  2.安装Python AWS SDK

  在华为云服务器上,我们需要安装Python AWS SDK以便能够调用AWS的API。在安装之前,我们首先需要安装pip,然后使用以下命令安装Python AWS SDK:

  pip install boto3

  3.获取桶名和对象名

  当有新的对象上传到OBS并触发了事件通知后,我们可以通过调用AWS提供的API来获取桶名和对象名。具体代码如下:

  import json

  import boto3

  def lambda_handler(event, context):

  records = event['Records']

  for record in records:

  obs = record['obs']

  bucket_name = obs['bucket']['name']

  object_key = obs['object']['key']

  return {

  'statusCode': 200,

  'body': json.dumps({

  'bucket_name': bucket_name,

  'object_key': object_key,

  })

  }

  通过以上步骤,我们就可以在华为云服务器上成功获取OBS触发器事件中的桶名和对象名了。


阿里云优惠券领取
腾讯云优惠券领取
QQ在线咨询
售前咨询热线
133-2199-9693
售后咨询热线
4000-747-360

微信扫一扫

加客服咨询