core#
这是 SDK 的核心模块, 实现了各种底层方法.
- acore_soap_app.sdk.core.build_cli_arg_for_gm(command: str, username: Optional[str] = None, password: Optional[str] = None, raises: bool = True, s3uri_output: Optional[str] = None, path_cli: str = '/home/ubuntu/git_repos/acore_soap_app-project/.venv/bin/acsoap') str [source]#
构造最终的 acsoap 命令行参数. 以便之后 pass 给
acore_soap_app.cli.main.Command.gm()
命令.
- acore_soap_app.sdk.core.run_soap_command(bsm: BotoSesManager, server_id: str, request_like: Union[str, List[str], SOAPRequest, List[SOAPRequest]], username: Optional[str] = None, password: Optional[str] = None, raises: bool = True, s3uri_input: Optional[str] = None, s3uri_output: Optional[str] = None, path_cli: str = '/home/ubuntu/git_repos/acore_soap_app-project/.venv/bin/acsoap', sync: bool = True, delays: int = 1, timeout: int = 10, verbose: bool = True) Union[List[SOAPResponse], str] [source]#
从任何地方, 通过 SSM Run Command, 远程执行 SOAP 命令.
Usage Example:
>>> response = run_soap_command(bsm, "sbx-blue", ".server info") >>> response = run_soap_command(bsm, "sbx-blue", [".account create test1 test1", ".account create test2 test2"])
- Parameters:
bsm –
boto_session_manager.BotoSesManager
对象, 定义了 AWS 权限.server_id – AzerothCore 服务器的逻辑 ID, 命名规律为 “${env_name}-${server_name}”, 例如 “sbx-blue”
request_like – 请参考
batch_load
username – 默认的用户名, 只有当 request.username 为 None 的时候才会用到.
password – 默认的密码, 只有当 request.password 为 None 的时候才会用到.
raises – 默认为 True. 如果为 True, 则在遇到错误时抛出异常. 反之则将 failed SOAP Response 原封不动地返回.
s3uri_input – 如果指定, 则将输入写入 S3. 常用于 Payload 比较大的情况. 如果你一次性发送的 request 大于 20 条, 则必须使用这个参数.
s3uri_output – 如果不指定, 则默认将输出作为 JSON 打印. 如果指定了 s3uri, 则将输出写入到 S3.
path_cli – EC2 上 acsoap 命令行工具的绝对路径.
sync – 同步和异步模式, 默认为同步模式 - 如果以同步模式运行, 则会等待 SSM Run Command 完成 - 如果以异步模式运行, 则会立刻返回一个 SSM Run Command 的 command id.
delays – 同步模式下的等待间隔
timeout – 同步模式下的超时限制
verbose – 同步模式下是否显示进度条