Descrição
O módulo Object Storage Service (OSS) permite interagir com o serviço de armazenamento em nuvem.
Método | Descrição | Ambiente | ||||
Linux Computer Use | Windows Computer Use | Browser Use | Mobile Use | Code Space | ||
| Inicializa as variáveis de ambiente do OSS. Define o par de AccessKey, o token de segurança e a configuração de região. | Suportado | Suportado | Não suportado | Suportado | Suportado |
| Faz upload de um arquivo ou pasta local para um bucket do OSS especificado. O ambiente deve ser inicializado anteriormente. | Suportado | Suportado | Não suportado | Suportado | Suportado |
| Baixe um objeto de um bucket do OSS para um caminho local. É necessário inicializar o ambiente antes. | Suportado | Suportado | Não suportado | Suportado | Suportado |
| Realiza upload anônimo de um arquivo para uma URL especificada via requisição HTTP PUT. | Suportado | Suportado | Não suportado | Suportado | Suportado |
| Efetua download anônimo de um arquivo de uma URL específica para um caminho local. | Suportado | Suportado | Não suportado | Suportado | Suportado |
Classe OSS
A classe OSS oferece métodos para interação com o serviço de armazenamento em nuvem.
EnvInit - Inicializar o ambiente OSS
Golang
// Initializes and creates OSS environment variables.
func (o *Oss) EnvInit(accessKeyId, accessKeySecret, securityToken, endpoint, region string) (*EnvInitResult, error)
Parâmetros:
accessKeyId: O AccessKeyID para autenticação no OSS.
accessKeySecret: O AccessKeySecret para autenticação no OSS.
securityToken: O token de segurança para autenticação no OSS.
endpoint: O endpoint do OSS. Caso não especifique este parâmetro, o sistema usa o valor padrão.
region: A região do OSS. Se você não definir este parâmetro, o valor padrão será aplicado.
Valores de retorno:
*EnvInitResult: Objeto contendo o resultado da inicialização e o ID da requisição.error: Mensagem de erro caso a operação falhe.
Struct EnvInitResult:
type EnvInitResult struct {
RequestID string // A unique request identifier for debugging.
Result string // The result of the environment initialization operation.
}
Exemplo:
package main
import (
"fmt"
"os"
"github.com/aliyun/wuying-agentbay-sdk/golang/pkg/agentbay"
)
func main() {
// Initialize the SDK.
client, err := agentbay.NewAgentBay("your_api_key", nil)
if err != nil {
fmt.Printf("Error initializing AgentBay client: %v\n", err)
os.Exit(1)
}
// Initialize the OSS environment.
result, err := client.Oss.EnvInit(
"your_access_key_id",
"your_access_key_secret",
"your_security_token",
"oss-cn-hangzhou.aliyuncs.com",
"cn-hangzhou",
)
if err != nil {
fmt.Printf("Error initializing OSS environment: %v\n", err)
os.Exit(1)
}
fmt.Printf("OSS environment initialized successfully, request ID: %s\n", result.RequestID)
}
Python
def env_init(self, access_key_id: str, access_key_secret: str, securityToken: Optional[str] = None,
endpoint: Optional[str] = None, region: Optional[str] = None) -> OSSClientResult
Parâmetros:
access_key_id: O AccessKeyID para autenticação no OSS.
access_key_secret: O AccessKeySecret para autenticação no OSS.
securityToken: Token de segurança para autenticação no OSS. Este parâmetro é opcional.
endpoint: Endpoint do OSS. Na ausência deste parâmetro, utiliza-se o valor padrão.
region: Região do OSS. Quando omitido, assume-se o valor padrão.
Valor de retorno:
OSSClientResult: Objeto de resultado que contém a configuração do cliente, ID da requisição, status de sucesso e mensagem de erro.
Struct OSSClientResult:
class OSSClientResult(ApiResponse):
def __init__(self, request_id: str = "", success: bool = False,
client_config: Optional[Dict[str, Any]] = None, error_message: str = "")
Exemplo:
from agentbay import AgentBay
# Initialize the SDK.
agent_bay = AgentBay(api_key="your_api_key")
# Initialize the OSS environment.
result = agent_bay.oss.env_init(
access_key_id="your_access_key_id",
access_key_secret="your_access_key_secret",
securityToken="your_security_token",
endpoint="oss-cn-hangzhou.aliyuncs.com",
region="cn-hangzhou"
)
if result.success:
print(f"OSS environment initialized successfully, request ID: {result.request_id}")
else:
print(f"Failed to initialize OSS environment: {result.error_message}")
TypeScript
async envInit(
accessKeyId: string,
accessKeySecret: string,
securityToken: string,
endpoint?: string,
region?: string
): Promise<string>
Parâmetros:
accessKeyId: AccessKeyID destinado à autenticação no OSS.
accessKeySecret: AccessKeySecret destinado à autenticação no OSS.
securityToken: Token de segurança para autenticação no OSS.
endpoint: Endpoint do OSS. O sistema adota o valor padrão se nenhum valor for informado.
region: Região do OSS. Aplica-se o valor padrão quando este campo permanece vazio.
Valor de retorno:
Promise<string>: Resultado da operação de inicialização do ambiente.
Exceções:
APIError: Lançada se a inicialização do ambiente falhar.
Exemplo:
import { AgentBay } from 'wuying-agentbay-sdk';
// Initialize the SDK.
const agentBay = new AgentBay({ apiKey: 'your_api_key' });
// Initialize the OSS environment.
async function initializeOSS() {
try {
const result = await agentBay.oss.envInit(
'your_access_key_id',
'your_access_key_secret',
'your_security_token',
'oss-cn-hangzhou.aliyuncs.com',
'cn-hangzhou'
);
console.log('OSS environment initialized successfully:', result);
} catch (error) {
console.error('Error initializing OSS environment:', error);
}
}
initializeOSS();
createClient - Crie um cliente OSS
Antes de chamar este método, inicialize o ambiente OSS usando env_init.
Golang
// Uploads a local file or folder to OSS.
func (o *Oss) Upload(bucket, object, path string) (*UploadResult, error)
Parâmetros:
bucket: Nome do bucket do OSS.
object: Chave do objeto no OSS.
path: Caminho do arquivo ou pasta local.
Valores de retorno:
*UploadResult: Objeto que contém a URL de upload e o ID da requisição.error: Mensagem de erro retornada em caso de falha na operação.
Struct UploadResult:
type UploadResult struct {
RequestID string // A unique request identifier for debugging.
URL string // The URL of the uploaded file.
}
Exemplo:
package main
import (
"fmt"
"os"
"github.com/aliyun/wuying-agentbay-sdk/golang/pkg/agentbay"
)
func main() {
// Initialize the SDK.
client, err := agentbay.NewAgentBay("your_api_key", nil)
if err != nil {
fmt.Printf("Error initializing AgentBay client: %v\n", err)
os.Exit(1)
}
// Step 1: Initialize the OSS environment.
_, err = client.Oss.EnvInit(
"your_access_key_id",
"your_access_key_secret",
"your_security_token",
"oss-cn-hangzhou.aliyuncs.com",
"cn-hangzhou",
)
if err != nil {
fmt.Printf("Error initializing OSS environment: %v\n", err)
os.Exit(1)
}
// Step 2: Upload the file to OSS.
result, err := client.Oss.Upload("my-bucket", "my-object", "/path/to/local/file")
if err != nil {
fmt.Printf("Error uploading file: %v\n", err)
os.Exit(1)
}
fmt.Printf("File uploaded successfully, URL: %s, request ID: %s\n", result.URL, result.RequestID)
}
Python
def upload(self, bucket: str, object: str, path: str) -> OSSUploadResult
Parâmetros:
bucket: Nome do bucket do OSS.
object: Chave do objeto no OSS.
path: Caminho do arquivo ou pasta local.
Valor de retorno:
OSSUploadResult: Objeto de resultado contendo o status do upload, ID da requisição, indicador de sucesso e mensagem de erro.
Struct OSSUploadResult:
class OSSUploadResult(ApiResponse):
def __init__(self, request_id: str = "", success: bool = False,
content: str = "", error_message: str = "")
Exemplo:
from wuying_agentbay_sdk import AgentBay
# Initialize the SDK.
agent_bay = AgentBay(api_key="your_api_key")
# Step 1: Initialize the OSS environment.
agent_bay.oss.env_init(
access_key_id="your_access_key_id",
access_key_secret="your_access_key_secret",
security_token="your_security_token",
endpoint="oss-cn-hangzhou.aliyuncs.com",
region="cn-hangzhou"
)
# Step 2: Upload the file.
result = agent_bay.oss.upload("my-bucket", "my-object", "/path/to/local/file")
print("File uploaded successfully:", result)
TypeScript
async createClient(
accessKeyId: string,
accessKeySecret: string,
endpoint?: string,
region?: string
): Promise<string>
Parâmetros:
accessKeyId: AccessKeyID para autenticação no OSS.
accessKeySecret: AccessKeySecret para autenticação no OSS.
endpoint: Endpoint do OSS. Utiliza-se o valor padrão caso não seja fornecido.
region: Região do OSS. Assume o valor padrão se não for especificada.
Valor de retorno:
Promise<string>: Resultado da operação de criação do cliente.
Exceção:
APIError: Lançada se a criação do cliente falhar.
Exemplo:
import { AgentBay } from 'wuying-agentbay-sdk';
// Initialize the SDK.
const agentBay = new AgentBay({ apiKey: 'your_api_key' });
// Create an OSS client.
async function createOSSClient() {
try {
const result = await agentBay.oss.createClient(
'your_access_key_id',
'your_access_key_secret',
'oss-cn-hangzhou.aliyuncs.com',
'cn-hangzhou'
);
console.log('OSS client created successfully:', result);
} catch (error) {
console.error('Error creating OSS client:', error);
}
}
createOSSClient();
Upload - Fazer upload de um arquivo para o OSS
Antes de invocar este método, inicialize o ambiente OSS por meio de env_init.
Golang
// Uploads a local file or folder to OSS.
func (o *Oss) Upload(bucket, object, path string) (*UploadResult, error)
Parâmetros:
bucket: Nome do bucket do OSS.
object: Chave do objeto no OSS.
path: Caminho do arquivo ou pasta local.
Valores de retorno:
*UploadResult: Objeto contendo a URL de upload e o ID da requisição.error: Mensagem de erro caso a operação não tenha êxito.
Struct UploadResult:
type UploadResult struct {
RequestID string // A unique request identifier for debugging.
URL string // The URL of the uploaded file.
}
Exemplo:
package main
import (
"fmt"
"os"
"github.com/aliyun/wuying-agentbay-sdk/golang/pkg/agentbay"
)
func main() {
// Initialize the SDK.
client, err := agentbay.NewAgentBay("your_api_key", nil)
if err != nil {
fmt.Printf("Error initializing AgentBay client: %v\n", err)
os.Exit(1)
}
// Step 1: Initialize the OSS environment.
_, err = client.Oss.EnvInit(
"your_access_key_id",
"your_access_key_secret",
"your_security_token",
"oss-cn-hangzhou.aliyuncs.com",
"cn-hangzhou",
)
if err != nil {
fmt.Printf("Error initializing OSS environment: %v\n", err)
os.Exit(1)
}
// Step 2: Upload the file to OSS.
result, err := client.Oss.Upload("my-bucket", "my-object", "/path/to/local/file")
if err != nil {
fmt.Printf("Error uploading file: %v\n", err)
os.Exit(1)
}
fmt.Printf("File uploaded successfully, URL: %s, request ID: %s\n", result.URL, result.RequestID)
}
Python
def upload(self, bucket: str, object: str, path: str) -> OSSUploadResult
Parâmetros:
bucket: Nome do bucket do OSS.
object: Chave do objeto no OSS.
path: Caminho do arquivo ou pasta local.
Valor de retorno:
OSSUploadResult: Objeto de resultado que inclui o status do upload, ID da requisição, sucesso e mensagem de erro.
Struct OSSUploadResult:
class OSSUploadResult(ApiResponse):
def __init__(self, request_id: str = "", success: bool = False,
content: str = "", error_message: str = "")
Exemplo:
from wuying_agentbay_sdk import AgentBay
# Initialize the SDK.
agent_bay = AgentBay(api_key="your_api_key")
# Step 1: Initialize the OSS environment.
agent_bay.oss.env_init(
access_key_id="your_access_key_id",
access_key_secret="your_access_key_secret",
security_token="your_security_token",
endpoint="oss-cn-hangzhou.aliyuncs.com",
region="cn-hangzhou"
)
# Step 2: Upload the file.
result = agent_bay.oss.upload("my-bucket", "my-object", "/path/to/local/file")
print("File uploaded successfully:", result)
TypeScript
async upload(bucket: string, object: string, path: string): Promise<string>
Parâmetros:
bucket: Nome do bucket do OSS.
object: Chave do objeto no OSS.
path: Caminho do arquivo ou pasta local.
Valor de retorno:
Promise<string>: Resultado da operação de upload.
Exceção:
APIError: Lançada caso o upload falhe.
Exemplo:
import { AgentBay } from 'wuying-agentbay-sdk';
// Initialize the SDK.
const agentBay = new AgentBay({ apiKey: 'your_api_key' });
async function uploadFile() {
try {
// Step 1: Initialize the OSS environment.
await agentBay.oss.envInit(
'your_access_key_id',
'your_access_key_secret',
'your_security_token',
'oss-cn-hangzhou.aliyuncs.com',
'cn-hangzhou'
);
// Step 2: Upload the file to OSS.
const result = await agentBay.oss.upload('my-bucket', 'my-object', '/path/to/local/file');
console.log('File uploaded successfully:', result);
} catch (error) {
console.error('Error uploading file:', error);
}
}
uploadFile();
UploadAnonymous - Fazer upload anônimo de um arquivo
Para utilizar este método, é pré-requisito inicializar o ambiente OSS com env_init.
Golang
// Anonymously uploads a local file or folder to a specified URL.
func (o *Oss) UploadAnonymous(url, path string) (*UploadResult, error)
Parâmetros:
url: URL HTTP ou HTTPS.
path: Caminho do arquivo ou pasta local.
Valores de retorno:
*UploadResult: Objeto que armazena a URL de upload e o ID da requisição.error: Mensagem de erro gerada se a operação falhar.
Exemplo:
package main
import (
"fmt"
"os"
"github.com/aliyun/wuying-agentbay-sdk/golang/pkg/agentbay"
)
func main() {
// Initialize the SDK.
client, err := agentbay.NewAgentBay("your_api_key", nil)
if err != nil {
fmt.Printf("Error initializing AgentBay client: %v\n", err)
os.Exit(1)
}
// Step 1: Initialize the OSS environment.
_, err = client.Oss.EnvInit(
"your_access_key_id",
"your_access_key_secret",
"your_security_token",
"oss-cn-hangzhou.aliyuncs.com",
"cn-hangzhou",
)
if err != nil {
fmt.Printf("Error initializing OSS environment: %v\n", err)
os.Exit(1)
}
// Step 2: Anonymously upload the file.
result, err := client.Oss.UploadAnonymous("https://example.com/upload", "/path/to/local/file")
if err != nil {
fmt.Printf("Error uploading file anonymously: %v\n", err)
os.Exit(1)
}
fmt.Printf("File uploaded anonymously successfully, URL: %s, request ID: %s\n", result.URL, result.RequestID)
}
Python
def upload_anonymous(self, url: str, path: str) -> OSSUploadResult
Parâmetros:
url: URL HTTP ou HTTPS.
path: Caminho do arquivo ou pasta local.
Valor de retorno:
OSSUploadResult: Objeto de resultado com o status do upload, ID da requisição, sucesso e mensagem de erro.
Exemplo:
from agentbay import AgentBay
# Initialize the SDK.
agent_bay = AgentBay(api_key="your_api_key")
# Anonymously upload the file.
result = agent_bay.oss.upload_anonymous("https://example.com/upload", "/path/to/local/file")
if result.success:
print(f"File uploaded anonymously successfully, content: {result.content}")
print(f"Request ID: {result.request_id}")
else:
print(f"Failed to upload file anonymously: {result.error_message}")
TypeScript
async uploadAnonymous(url: string, path: string): Promise<string>
Parâmetros:
url: URL HTTP ou HTTPS.
path: Caminho do arquivo ou pasta local.
Valor de retorno:
Promise<string>: Resultado da operação de upload.
Exceção:
APIError: Lançada se houver falha no upload.
Exemplo:
import { AgentBay } from 'wuying-agentbay-sdk';
// Initialize the SDK.
const agentBay = new AgentBay({ apiKey: 'your_api_key' });
async function uploadFileAnonymously() {
try {
// Step 1: Initialize the OSS environment.
await agentBay.oss.envInit(
'your_access_key_id',
'your_access_key_secret',
'your_security_token',
'oss-cn-hangzhou.aliyuncs.com',
'cn-hangzhou'
);
// Step 2: Anonymously upload the file.
const result = await agentBay.oss.uploadAnonymous('https://example.com/upload', '/path/to/local/file');
console.log('File uploaded anonymously successfully:', result);
} catch (error) {
console.error('Error uploading file anonymously:', error);
}
}
uploadFileAnonymously();
Download - Baixe um arquivo do OSS
Certifique-se de inicializar o ambiente OSS usando env_init antes de executar este método.
Golang
// Downloads an object from OSS to a local file.
func (o *Oss) Download(bucket, object, path string) (*DownloadResult, error)
Parâmetros:
bucket: Nome do bucket do OSS.
object: Chave do objeto no OSS.
path: Caminho local onde o arquivo será salvo.
Valores de retorno:
*DownloadResult: Objeto que contém o caminho do arquivo local e o ID da requisição.error: Mensagem de erro exibida se a operação falhar.
Struct DownloadResult:
type DownloadResult struct {
RequestID string // A unique request identifier for debugging.
LocalPath string // The local path where the file is downloaded.
}
Exemplo:
package main
import (
"fmt"
"os"
"github.com/aliyun/wuying-agentbay-sdk/golang/pkg/agentbay"
)
func main() {
// Initialize the SDK.
client, err := agentbay.NewAgentBay("your_api_key", nil)
if err != nil {
fmt.Printf("Error initializing AgentBay client: %v\n", err)
os.Exit(1)
}
// Step 1: Initialize the OSS environment.
_, err = client.Oss.EnvInit(
"your_access_key_id",
"your_access_key_secret",
"your_security_token",
"oss-cn-hangzhou.aliyuncs.com",
"cn-hangzhou",
)
if err != nil {
fmt.Printf("Error initializing OSS environment: %v\n", err)
os.Exit(1)
}
// Step 2: Download the file from OSS.
result, err := client.Oss.Download("my-bucket", "my-object", "/path/to/local/file")
if err != nil {
fmt.Printf("Error downloading file: %v\n", err)
os.Exit(1)
}
fmt.Printf("File downloaded successfully to: %s, request ID: %s\n", result.LocalPath, result.RequestID)
}
Python
def download(self, bucket: str, object: str, path: str) -> OSSDownloadResult
Parâmetros:
bucket: Nome do bucket do OSS.
object: Chave do objeto no OSS.
path: Caminho local onde o arquivo será salvo.
Valor de retorno:
OSSDownloadResult: Objeto de resultado contendo o status do download, ID da requisição, sucesso e mensagem de erro.
Struct OSSDownloadResult:
class OSSDownloadResult(ApiResponse):
def __init__(self, request_id: str = "", success: bool = False,
content: str = "", error_message: str = "")
Exemplo:
from wuying_agentbay_sdk import AgentBay
# Initialize the SDK.
agent_bay = AgentBay(api_key="your_api_key")
# Step 1: Initialize the OSS environment.
agent_bay.oss.env_init(
access_key_id="your_access_key_id",
access_key_secret="your_access_key_secret",
security_token="your_security_token",
endpoint="oss-cn-hangzhou.aliyuncs.com",
region="cn-hangzhou"
)
# Step 2: Download the file.
result = agent_bay.oss.download("my-bucket", "my-object", "/path/to/local/file")
print("File downloaded successfully:", result)
TypeScript
async download(bucket: string, object: string, path: string): Promise<string>
Parâmetros:
bucket: Nome do bucket do OSS.
object: Chave do objeto no OSS.
path: Caminho local onde o arquivo será salvo.
Valor de retorno:
Promise<string>: Resultado da operação de download.
Exceções:
APIError: Lançada se o download falhar.
Exemplo:
import { AgentBay } from 'wuying-agentbay-sdk';
// Initialize the SDK.
const agentBay = new AgentBay({ apiKey: 'your_api_key' });
async function downloadFile() {
try {
// Step 1: Initialize the OSS environment.
await agentBay.oss.envInit(
'your_access_key_id',
'your_access_key_secret',
'your_security_token',
'oss-cn-hangzhou.aliyuncs.com',
'cn-hangzhou'
);
// Step 2: Download the file from OSS.
const result = await agentBay.oss.download('my-bucket', 'my-object', '/path/to/local/file');
console.log('File downloaded successfully:', result);
} catch (error) {
console.error('Error downloading file:', error);
}
}
downloadFile();
DownloadAnonymous - Baixe um arquivo anonimamente
É obrigatório inicializar o ambiente OSS via env_init antes de chamar este método.
Golang
// Anonymously downloads a file from a specified URL to a local path.
func (o *Oss) DownloadAnonymous(url, path string) (*DownloadResult, error)
Parâmetros:
url: URL HTTP ou HTTPS.
path: Caminho local completo onde o arquivo será salvo.
Valores de retorno:
*DownloadResult: Objeto contendo o caminho do arquivo local e o ID da requisição.error: Mensagem de erro retornada em caso de falha.
Exemplo:
package main
import (
"fmt"
"os"
"github.com/aliyun/wuying-agentbay-sdk/golang/pkg/agentbay"
)
func main() {
// Initialize the SDK.
client, err := agentbay.NewAgentBay("your_api_key", nil)
if err != nil {
fmt.Printf("Error initializing AgentBay client: %v\n", err)
os.Exit(1)
}
// Step 1: Initialize the OSS environment.
_, err = client.Oss.EnvInit(
"your_access_key_id",
"your_access_key_secret",
"your_security_token",
"oss-cn-hangzhou.aliyuncs.com",
"cn-hangzhou",
)
if err != nil {
fmt.Printf("Error initializing OSS environment: %v\n", err)
os.Exit(1)
}
// Step 2: Anonymously download the file.
result, err := client.Oss.DownloadAnonymous("https://example.com/file.txt", "/path/to/local/file.txt")
if err != nil {
fmt.Printf("Error downloading file anonymously: %v\n", err)
os.Exit(1)
}
fmt.Printf("File downloaded anonymously successfully to: %s, request ID: %s\n", result.LocalPath, result.RequestID)
}
Python
def download_anonymous(self, url: str, path: str) -> OSSDownloadResult
Parâmetros:
url: URL HTTP ou HTTPS.
path: Caminho local onde o arquivo ou pasta será salvo.
Valor de retorno:
OSSDownloadResult: Objeto de resultado que contém o conteúdo baixado, ID da requisição, status de sucesso e mensagem de erro.
Exemplo:
from agentbay import AgentBay
# Initialize the SDK.
agent_bay = AgentBay(api_key="your_api_key")
# Anonymously download the file.
result = agent_bay.oss.download_anonymous("https://example.com/file.txt", "/path/to/local/file.txt")
if result.success:
print(f"File downloaded anonymously successfully, content: {result.content}")
print(f"Request ID: {result.request_id}")
else:
print(f"Failed to download file anonymously: {result.error_message}")
TypeScript
async downloadAnonymous(url: string, path: string): Promise<string>
Parâmetros:
url: URL HTTP ou HTTPS.
path: Caminho local completo onde o arquivo será salvo.
Valor de retorno:
Promise<string>: Resultado da operação de download.
Exceções:
APIError: Lançada caso o download não seja concluído com sucesso.
Exemplo:
import { AgentBay } from 'wuying-agentbay-sdk';
// Initialize the SDK.
const agentBay = new AgentBay({ apiKey: 'your_api_key' });
async function downloadFileAnonymously() {
try {
// Step 1: Initialize the OSS environment.
await agentBay.oss.envInit(
'your_access_key_id',
'your_access_key_secret',
'your_security_token',
'oss-cn-hangzhou.aliyuncs.com',
'cn-hangzhou'
);
// Step 2: Anonymously download the file.
const result = await agentBay.oss.downloadAnonymous('https://example.com/file.txt', '/path/to/local/file.txt');
console.log('File downloaded anonymously successfully:', result);
} catch (error) {
console.error('Error downloading file anonymously:', error);
}
}
downloadFileAnonymously();