in pai/toolkit/config.py [0:0]
def prompt_for_create_oss_bucket(user_profile: UserProfile, workspace_id):
gen_bucket_name = f"pai-{user_profile.account_id}-{workspace_id}"
while True:
bucket_name = prompt(
localized_text(
"Please confirm the OSS Bucket name:\n",
"请确认新建的 OSS 的 Bucket名称:\n",
),
default=gen_bucket_name,
validator=Validator.from_callable(
validate_func=validate_bucket_name,
error_message=localized_text(
"Invalid bucket name.",
"错误的Bucket名称.",
),
move_cursor_to_end=True,
),
)
res = confirm(
localized_text(
f"Confirm to create the OSS Bucket. BucketName:{bucket_name}",
f"是否使用该名称创建新的OSS Bucket。 BucketName:{bucket_name}",
)
)
if not res:
continue
try:
user_profile.create_oss_bucket(bucket_name)
print_highlight(
localized_text(
f"Create bucket succeeded. {bucket_name}",
f"Bucket创建成功. {bucket_name}",
)
)
break
except oss2.exceptions.ServerError as e:
if e.code == "BucketAlreadyExists":
# if bucket already exists.
print_warning(
localized_text(
f"Bucket already exists: {bucket_name}",
f"当前Bucket已经被占用: {bucket_name}",
)
)
if bucket_name == gen_bucket_name:
gen_bucket_name = (
f"pai-{user_profile.account_id}-{workspace_id}-{random_str(6)}"
)
continue
raise e
return bucket_name