Initialize the S3 HTTP module with configuration.
This subroutine must be called before any S3 operations can be performed. It stores the provided configuration for use by all subsequent operations.
@param[in] config S3 configuration containing bucket, endpoint, and credentials
type(s3_config) :: config
config%bucket = 'my-bucket'
config%region = 'us-east-1'
config%use_https = .true.
call s3_init(config)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(s3_config), | intent(in) | :: | config |
subroutine s3_init(config) type(s3_config), intent(in) :: config character(len=256) :: msg ! Initialize logger from environment call s3_init_logger() current_config = config initialized = .true. call s3_log_info('S3 library initialized') write(msg, '(A,A)') 'Bucket: ', trim(config%bucket) call s3_log_debug(trim(msg)) write(msg, '(A,A)') 'Endpoint: ', trim(config%endpoint) call s3_log_debug(trim(msg)) write(msg, '(A,A)') 'Region: ', trim(config%region) call s3_log_debug(trim(msg)) write(msg, '(A,L1)') 'HTTPS: ', config%use_https call s3_log_debug(trim(msg)) write(msg, '(A,L1)') 'Streaming available: ', is_streaming_available() call s3_log_info(trim(msg)) end subroutine s3_init