Compare commits
3 Commits
3f2e922bcc
...
8e1b46fee0
| Author | SHA1 | Date |
|---|---|---|
|
|
8e1b46fee0 | 1 year ago |
|
|
ceeb7406d4 | 1 year ago |
|
|
9ab5afd99e | 1 year ago |
6 changed files with 53 additions and 81 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