telnyx-storage-java

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->

Telnyx Storage - Java

Telnyx Storage - Java

Installation

安装

text
<!-- Maven -->
<dependency>
    <groupId>com.telnyx.sdk</groupId>
    <artifactId>telnyx</artifactId>
    <version>6.36.0</version>
</dependency>

// Gradle
implementation("com.telnyx.sdk:telnyx:6.36.0")
text
<!-- Maven -->
<dependency>
    <groupId>com.telnyx.sdk</groupId>
    <artifactId>telnyx</artifactId>
    <version>6.36.0</version>
</dependency>

// Gradle
implementation("com.telnyx.sdk:telnyx:6.36.0")

Setup

配置

java
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;

TelnyxClient client = TelnyxOkHttpClient.fromEnv();
All examples below assume
client
is already initialized as shown above.
java
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;

TelnyxClient client = TelnyxOkHttpClient.fromEnv();
以下所有示例均假设
client
已按照上述方式完成初始化。

Error Handling

错误处理

All API calls can fail with network errors, rate limits (429), validation errors (422), or authentication errors (401). Always handle errors in production code:
java
import com.telnyx.sdk.errors.TelnyxServiceException;

try {
    var result = client.messages().send(params);
} catch (TelnyxServiceException e) {
    System.err.println("API error " + e.statusCode() + ": " + e.getMessage());
    if (e.statusCode() == 422) {
        System.err.println("Validation error — check required fields and formats");
    } else if (e.statusCode() == 429) {
        // Rate limited — wait and retry with exponential backoff
        Thread.sleep(1000);
    }
}
Common error codes:
401
invalid API key,
403
insufficient permissions,
404
resource not found,
422
validation error (check field formats),
429
rate limited (retry with exponential backoff).
所有API调用都可能因网络错误、速率限制(429)、校验错误(422)、或身份验证错误(401)而失败。在生产代码中请始终做好错误处理:
java
import com.telnyx.sdk.errors.TelnyxServiceException;

try {
    var result = client.messages().send(params);
} catch (TelnyxServiceException e) {
    System.err.println("API error " + e.statusCode() + ": " + e.getMessage());
    if (e.statusCode() == 422) {
        System.err.println("Validation error — check required fields and formats");
    } else if (e.statusCode() == 429) {
        // Rate limited — wait and retry with exponential backoff
        Thread.sleep(1000);
    }
}
常见错误码:
401
无效API密钥,
403
权限不足,
404
资源未找到,
422
校验错误(请检查字段格式),
429
触发速率限制(请使用指数退避算法重试)。

Get Bucket SSL Certificate

获取存储桶SSL证书

Returns the stored certificate detail of a bucket, if applicable.
GET /storage/buckets/{bucketName}/ssl_certificate
java
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateRetrieveParams;
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateRetrieveResponse;

SslCertificateRetrieveResponse sslCertificate = client.storage().buckets().sslCertificate().retrieve("");
Returns:
created_at
(date-time),
id
(string),
issued_by
(object),
issued_to
(object),
valid_from
(date-time),
valid_to
(date-time)
返回存储桶已存储的证书详情(如适用)。
GET /storage/buckets/{bucketName}/ssl_certificate
java
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateRetrieveParams;
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateRetrieveResponse;

SslCertificateRetrieveResponse sslCertificate = client.storage().buckets().sslCertificate().retrieve("");
返回值:
created_at
(日期时间)、
id
(字符串)、
issued_by
(对象)、
issued_to
(对象)、
valid_from
(生效时间)、
valid_to
(到期时间)

Add SSL Certificate

添加SSL证书

Uploads an SSL certificate and its matching secret so that you can use Telnyx's storage as your CDN.
PUT /storage/buckets/{bucketName}/ssl_certificate
java
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateCreateParams;
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateCreateResponse;

SslCertificateCreateResponse sslCertificate = client.storage().buckets().sslCertificate().create("");
Returns:
created_at
(date-time),
id
(string),
issued_by
(object),
issued_to
(object),
valid_from
(date-time),
valid_to
(date-time)
上传SSL证书及其对应的密钥,以便你可以将Telnyx存储用作CDN。
PUT /storage/buckets/{bucketName}/ssl_certificate
java
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateCreateParams;
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateCreateResponse;

SslCertificateCreateResponse sslCertificate = client.storage().buckets().sslCertificate().create("");
返回值:
created_at
(日期时间)、
id
(字符串)、
issued_by
(对象)、
issued_to
(对象)、
valid_from
(生效时间)、
valid_to
(到期时间)

Remove SSL Certificate

移除SSL证书

Deletes an SSL certificate and its matching secret.
DELETE /storage/buckets/{bucketName}/ssl_certificate
java
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateDeleteParams;
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateDeleteResponse;

SslCertificateDeleteResponse sslCertificate = client.storage().buckets().sslCertificate().delete("");
Returns:
created_at
(date-time),
id
(string),
issued_by
(object),
issued_to
(object),
valid_from
(date-time),
valid_to
(date-time)
删除SSL证书及其对应的密钥。
DELETE /storage/buckets/{bucketName}/ssl_certificate
java
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateDeleteParams;
import com.telnyx.sdk.models.storage.buckets.sslcertificate.SslCertificateDeleteResponse;

SslCertificateDeleteResponse sslCertificate = client.storage().buckets().sslCertificate().delete("");
返回值:
created_at
(日期时间)、
id
(字符串)、
issued_by
(对象)、
issued_to
(对象)、
valid_from
(生效时间)、
valid_to
(到期时间)

Get API Usage

获取API使用情况

Returns the detail on API usage on a bucket of a particular time period, group by method category.
GET /storage/buckets/{bucketName}/usage/api
java
import com.telnyx.sdk.models.storage.buckets.usage.UsageGetApiUsageParams;
import com.telnyx.sdk.models.storage.buckets.usage.UsageGetApiUsageResponse;
import java.time.OffsetDateTime;

UsageGetApiUsageParams params = UsageGetApiUsageParams.builder()
    .bucketName("")
    .filter(UsageGetApiUsageParams.Filter.builder()
        .endTime(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
        .startTime(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
        .build())
    .build();
UsageGetApiUsageResponse response = client.storage().buckets().usage().getApiUsage(params);
Returns:
categories
(array[object]),
timestamp
(date-time),
total
(object)
返回指定时间段内某个存储桶的API使用详情,按接口类别分组。
GET /storage/buckets/{bucketName}/usage/api
java
import com.telnyx.sdk.models.storage.buckets.usage.UsageGetApiUsageParams;
import com.telnyx.sdk.models.storage.buckets.usage.UsageGetApiUsageResponse;
import java.time.OffsetDateTime;

UsageGetApiUsageParams params = UsageGetApiUsageParams.builder()
    .bucketName("")
    .filter(UsageGetApiUsageParams.Filter.builder()
        .endTime(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
        .startTime(OffsetDateTime.parse("2019-12-27T18:11:19.117Z"))
        .build())
    .build();
UsageGetApiUsageResponse response = client.storage().buckets().usage().getApiUsage(params);
返回值:
categories
(对象数组)、
timestamp
(日期时间)、
total
(对象)

Get Bucket Usage

获取存储桶使用情况

Returns the amount of storage space and number of files a bucket takes up.
GET /storage/buckets/{bucketName}/usage/storage
java
import com.telnyx.sdk.models.storage.buckets.usage.UsageGetBucketUsageParams;
import com.telnyx.sdk.models.storage.buckets.usage.UsageGetBucketUsageResponse;

UsageGetBucketUsageResponse response = client.storage().buckets().usage().getBucketUsage("");
Returns:
num_objects
(integer),
size
(integer),
size_kb
(integer),
timestamp
(date-time)
返回存储桶占用的存储空间大小和文件数量。
GET /storage/buckets/{bucketName}/usage/storage
java
import com.telnyx.sdk.models.storage.buckets.usage.UsageGetBucketUsageParams;
import com.telnyx.sdk.models.storage.buckets.usage.UsageGetBucketUsageResponse;

UsageGetBucketUsageResponse response = client.storage().buckets().usage().getBucketUsage("");
返回值:
num_objects
(整数)、
size
(整数)、
size_kb
(整数)、
timestamp
(日期时间)

Create Presigned Object URL

创建对象预签名URL

Returns a timed and authenticated URL to download (GET) or upload (PUT) an object. This is the equivalent to AWS S3’s “presigned” URL. Please note that Telnyx performs authentication differently from AWS S3 and you MUST NOT use the presign method of AWS s3api CLI or SDK to generate the presigned URL.
POST /storage/buckets/{bucketName}/{objectName}/presigned_url
Optional:
ttl
(integer)
java
import com.telnyx.sdk.models.storage.buckets.BucketCreatePresignedUrlParams;
import com.telnyx.sdk.models.storage.buckets.BucketCreatePresignedUrlResponse;

BucketCreatePresignedUrlParams params = BucketCreatePresignedUrlParams.builder()
    .bucketName("")
    .objectName("")
    .build();
BucketCreatePresignedUrlResponse response = client.storage().buckets().createPresignedUrl(params);
Returns:
content
(object)
返回一个有时效性的身份认证URL,可用于下载(GET)或上传(PUT)对象。其功能等同于AWS S3的“预签名”URL。请注意,Telnyx的身份验证逻辑与AWS S3不同,你不得使用AWS s3api CLI或SDK的预签名方法来生成预签名URL。
POST /storage/buckets/{bucketName}/{objectName}/presigned_url
可选参数:
ttl
(整数)
java
import com.telnyx.sdk.models.storage.buckets.BucketCreatePresignedUrlParams;
import com.telnyx.sdk.models.storage.buckets.BucketCreatePresignedUrlResponse;

BucketCreatePresignedUrlParams params = BucketCreatePresignedUrlParams.builder()
    .bucketName("")
    .objectName("")
    .build();
BucketCreatePresignedUrlResponse response = client.storage().buckets().createPresignedUrl(params);
返回值:
content
(对象)