华为云服务器如何从OBS触发器事件event里获取桶名、对象名
【聚搜云】是上海聚搜信息技术有限公司旗下品牌,坐落于魔都上海,服务于全球、2019年成为阿里云代理商生态合作伙伴。与阿里云代理商、腾讯云、华为云、西部数码、美橙互联、AWS亚马逊云国际站渠道商、聚搜云,长期战略合作的计划!华为云国际站代理商专业的云服务商!
【华为云服务器如何从OBS触发器事件event里获取桶名、对象名】本文由华为云渠道商[聚搜云][www.4526.cn]撰写。当我们在使用华为云存储OBS服务时,经常需要从触发器事件中获取桶名、对象名等相关信息进行处理。那么在华为云服务器上如何实现呢?
首先,我们需要创建一个OBS触发器并配置好相应的事件通知地址。然后,在华为云服务器上安装Python AWS SDK以便能够调用AWS的API来获取桶名和对象名。下面我们来详细介绍一下具体实现方式。
1.创建OBS触发器并配置事件通知地址
在OBS服务控制台中,我们需要创建一个OBS触发器,并在其中配置好相应的事件通知地址。在此处,我们需将事件通知地址指向自己的HTTP服务端口。当有新的对象上传到OBS时,OBS将会向此地址发送一个POST请求,携带相关的事件信息。
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触发器事件中的桶名和对象名了。