Chuyển đến nội dung chính

Cài đặt access key

SDK cần được cấu hình với khóa truy cập của bạn, khóa này có sẵn trong Bảng điều khiển Locker Secrets của bạn. Khởi tạo secret_access_key thành giá trị của nó. Bạn cũng cần thiết lập giá trị api_base (mặc định là https://api.locker.io/locker_secrets). Nếu bạn cần thiết lập các tiêu đề tùy chỉnh, bạn cũng cần thiết lập giá trị headers trong tham số options:
using Locker;

string accessKeyId = "YOUR_ACCESS_KEY_ID";
string secretAccessKey = "YOUR_SECRET_ACCESS_KEY";
string apiBase = "YOUR_API_BASE";
Dictionary<string, string> headers = new Dictionary<string, string>()
{
    { "CF-Access-Client-Id", "YOUR_CF_ACCESS_CLIENT_ID" },
    { "CF-Access-Client-Secret", "YOUR_CF_ACCESS_CLIENT_SECRET" }
};
LockerConfiguration.Instance.Init(
    accessKeyId: accessKeyId,
    secretAccessKey: secretAccessKey,
    apiBase: apiBase,
    headers: headers
);

// Thiết lập qua file .env
LockerConfiguration.Instance.Init(
    envPath: "YOUR_ENV_FILE_PATH"
);

Per-request configuration

Tất cả các phương thức dịch vụ đều chấp nhận một đối tượng RequestOptions tùy chọn. Điều này được sử dụng nếu bạn muốn truyền khóa truy cập, tiêu đề cho mỗi phương thức, hoặc bạn muốn thiết lập loại giá trị trả về (loại mặc định là chuỗi, nếu bạn muốn loại đối tượng hãy sử dụng IsJson=true).
var requestOptions = new RequestOptions();
requestOptions.AccessKeyId = "ACCESS KEY ID";
requestOptions.SecretAccessKey = "SECRET ACCESS KEY";
requestOptions.ApiBase = "API BASE";
requestOptions.IsJson = true;
Bây giờ, bạn có thể sử dụng SDK để lấy hoặc đặt các giá trị.

List secrets

Sử dụng phương thức .List() để lấy tất cả các secret trong dự án của bạn.
var service = new SecretService();
var secrets = service.List();

Get giá trị secrets

Hàm này sẽ lấy giá trị bí mật bằng một khóa. Nếu khóa không tồn tại, SDK sẽ trả về defaultValue:
// Lấy giá trị secret bằng khóa.
// Nếu khóa không tồn tại, SDK sẽ trả về defaultValue
var secretValue = service.GetSecret(
    name: "REDIS_CONNECTION",
    defaultValue: "Default Value"
);
Console.WriteLine(secretValue);

// Lấy giá trị secret bằng khóa và tên môi trường cụ thể.
// Nếu khóa không tồn tại, SDK sẽ trả về defaultValue
secretValue = service.GetSecret(
    name: "REDIS_CONNECTION",
    environmentName: "staging",
    defaultValue: "Default Value"
);
Console.WriteLine(secretValue);

// Lấy giá trị secret bằng khóa.
// Nếu khóa không tồn tại, SDK sẽ ném ra ngoại lệ
var options = new SecretRetrieveOptions();
var requestOptions = new RequestOptions();
var secretValue = service.Get(
    name: "REDIS_CONNECTION",
    retrieveOptions: options,
    requestOptions: requestOptions
);
Console.WriteLine(secretValue);

// Lấy giá trị secret bằng khóa và tên môi trường cụ thể.
// Nếu khóa không tồn tại, SDK sẽ ném ra ngoại lệ
var options = new SecretRetrieveOptions();
var requestOptions = new RequestOptions();
var secretValue = service.Get(
    name: "REDIS_CONNECTION",
    environmentName: "staging",
    retrieveOptions: options,
    requestOptions: requestOptions
);
Console.WriteLine(secretValue);

Tạo mới secrets

Dùng hàm .Create() để tạo mới secret:
var service = new SecretService();
var option = new SecretCreateOptions
{
    Key = "YOUR_NEW_SECRET_KEY",
    Value = "YOUR_NEW_SECRET_VALUE",
};
var newSecret = service.Create(option);

Cập nhật secrets

Dùng hàm .Modify() để cập nhật giá trị secrets:
var service = new SecretService();
var option = new SecretUpdateOptions
{
    Key = "YOUR_UPDATE_SECRET_KEY",
    Value = "YOUR_UPDATED_SECRET_VALUE",
};

// Cập nhật secret bằng khóa
var updatedSecret = service.Modify(
    name: "YOUR_SECRET_KEY",
    updateOptions: option
);

// Cập nhật secret bằng khóa và tên môi trường cụ thể
var updatedSecret = service.Modify(
    name: "YOUR_SECRET_KEY",
    environmentName: "YOUR_ENV_NAME",
    updateOptions: option
);

List environments

Dùng hàm .List() để lấy tất cả các môi trường trong dự án của bạn:
var service = new EnvironmentService();
var environments = service.List();

Get environment by name

Để lấy một môi trường theo tên, sử dụng .Get():
var service = new EnvironmentService();
var environment = service.Get(name: "YOUR_ENV_NAME");
Console.WriteLine(environment);

Tạo mới environment

Để tạo mới môi trường, sử dụng .Create():
var service = new EnvironmentService();
var option = new EnvironmentCreateOptions()
{
    Name = "YOUR_NEW_ENV_NAME",
    ExternalUrl = "YOUR_NEW_ENV_EXTERNAL_URL",
    Description = "YOUR_NEW_ENV_DESCRIPTION"
};
var newEnv = service.Create(option);

Cập nhật environment

Để cập nhật external_url của môi trường bằng tên, sử dụng .Modify():
environment = locker.modify_environment(name="staging", external_url="new.staging.host")