4 changed files with 4 additions and 37 deletions
@ -1,30 +0,0 @@ |
|||||||
use std::sync::Arc; |
|
||||||
use aws_credential_types::Credentials; |
|
||||||
use aws_sdk_kinesis::{Client, Config}; |
|
||||||
use rusoto_core::{Region, HttpClient}; |
|
||||||
use rusoto_core::credential::{StaticProvider, ProvideAwsCredentials}; |
|
||||||
use rusoto_s3::{S3Client, S3, GetObjectRequest}; |
|
||||||
use tokio::io::AsyncReadExt; |
|
||||||
use tokio::sync::OnceCell; |
|
||||||
|
|
||||||
static AWS_S3_CLIENT: OnceCell<Arc<S3Client>> = OnceCell::const_new(); |
|
||||||
|
|
||||||
async fn initialize_data() -> Arc<S3Client> { |
|
||||||
let config = crate::config::get_config() |
|
||||||
.await; |
|
||||||
|
|
||||||
let access_key_id = &config.kinesis_stream.node.access_key.clone(); |
|
||||||
let secret_access_key = &config.kinesis_stream.node.secret_key.clone(); |
|
||||||
let region = &config.kinesis_stream.node.region.clone(); |
|
||||||
|
|
||||||
let credentials_provider = StaticProvider::new_minimal(access_key_id.to_string(), secret_access_key.to_string()); |
|
||||||
let s3_client = S3Client::new_with(HttpClient::new().expect("failed to create request dispatcher"), credentials_provider, region.parse().unwrap()); |
|
||||||
|
|
||||||
Arc::new(s3_client) |
|
||||||
} |
|
||||||
|
|
||||||
async fn get_client() -> Arc<S3Client> { |
|
||||||
AWS_S3_CLIENT.get_or_init(initialize_data) |
|
||||||
.await |
|
||||||
.clone() |
|
||||||
} |
|
||||||
Loading…
Reference in new issue