初始化/关闭SDK

使用C SDK的应用程序必须先进行初始化,然后再进行其他SDK的api调用,最后在应用程序终止之前必须关闭SDK:

S3_initialize("s3", S3_INIT_ALL, host);
{
    // 在此调用SDK
}
S3_deinitialize();

初始化SDK

S3Status S3_initialize(const char *userAgentInfo, int flags,
                       const char *defaultS3HostName);

参数:

参数名 类型 说明
userAgentInfo const char * 请求中的User-Agent header
flags Int 初始化S3依赖库的标志。一般使用S3_INIT_ALL初始化所有库
defaultS3Hostname const char * 默认服务地址

返回值:

返回值 说明
S3StatusOK 成功
S3StatusUriTooLong defaultS3Hostname长于S3_MAX_HOSTNAME_SIZE规定的值
S3StatusInternalError 依赖库初始化失败
S3StatusOutOfMemory 内存不足

以下代码封装了初始化结果的判断操作:

void S3_init()
{
    S3Status status;
    const char *hostname = "your_host_name";
    
    if ((status = S3_initialize("s3", S3_INIT_ALL, hostname))
        != S3StatusOK) {
        fprintf(stderr, "Failed to initialize libs3: %s\n", 
                S3_get_status_name(status));
        exit(-1);
    }
}

关闭SDK

void S3_deinitialize();