All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.axual.connect.plugins.adls.gen2.authentication.AccountKeyClientProvider Maven / Gradle / Ivy

There is a newer version: 1.2.2
Show newest version
package io.axual.connect.plugins.adls.gen2.authentication;

/*-
 * ========================LICENSE_START=================================
 * Azure Data Lake Storage Gen2 Sink Connector for Kafka Connect
 * %%
 * Copyright (C) 2021 Axual B.V.
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License")
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * =========================LICENSE_END==================================
 */

import com.azure.storage.common.StorageSharedKeyCredential;
import com.azure.storage.file.datalake.DataLakeServiceClientBuilder;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import io.axual.connect.plugins.adls.gen2.AdlsGen2SinkConfig;

/**
 * Use the Account Key authentication method to access the Azure DataLake Storage account
 * and container.
 *
 * Check the Azure DataLake Storage Account for the proper values to use with the key
 */
public class AccountKeyClientProvider extends ServiceClientProvider {
    private static final Logger LOG = LoggerFactory.getLogger(AccountKeyClientProvider.class);

    public AccountKeyClientProvider(AdlsGen2SinkConfig config) {
        super(config);
    }

    // Used for testing
    AccountKeyClientProvider(AdlsGen2SinkConfig config, DataLakeServiceClientBuilder serviceClientBuilder) {
        super(config, serviceClientBuilder);
    }

    @Override
    public DataLakeServiceClientBuilder addCredentials(DataLakeServiceClientBuilder builder) {
        LOG.debug("Authenticating using StorageSharedKeyCredential");
        return builder.credential(new StorageSharedKeyCredential(config.getAccountName(), config.getAccountKey().value()));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy