Aliyun.Oss.Bucket.Policy (aliyun_oss v3.3.0)
Bucket operations - Authorization policy.
Summary
Functions
DeleteBucketPolicy - deletes the policies configured for a specified bucket.
GetBucketPolicy - gets the policies configured for a specified bucket.
GetBucketPolicyStatus
PutBucketPolicy - configures policies for a specified bucket.
Functions
@spec delete(Aliyun.Oss.Config.t(), String.t()) :: {:error, Exception.t()} | {:ok, Aliyun.Oss.Client.Response.t()}
DeleteBucketPolicy - deletes the policies configured for a specified bucket.
Examples
iex> Aliyun.Oss.Bucket.Policy.delete("some-bucket")
{:ok,
%Aliyun.Oss.Client.Response{
data: "",
headers: %{
"connection" => ["keep-alive"],
"content-length" => ["0"],
"date" => ["Tue, 08 Jul 2025 07:43:42 GMT"],
"server" => ["AliyunOSS"],
"x-oss-request-id" => ["686CCC2E68CDB***********"],
"x-oss-server-time" => ["69"]
}
}}
@spec get(Aliyun.Oss.Config.t(), String.t()) :: {:error, Exception.t()} | {:ok, Aliyun.Oss.Client.Response.t()}
GetBucketPolicy - gets the policies configured for a specified bucket.
Examples
iex> Aliyun.Oss.Bucket.Policy.get(config, "some-bucket")
{:ok, %Aliyun.Oss.Client.Response{
data: %{
"Statement" => [
%{
"Action" => ["oss:PutObject", "oss:GetObject"],
"Effect" => "Deny",
"Principal" => ["1234567890"],
"Resource" => ["acs:oss:*:1234567890:*/*"]
}
],
"Version" => "1"
},
headers: %{
"connection" => ["keep-alive"],
...
}
}}
@spec get_status(Aliyun.Oss.Config.t(), String.t()) :: {:error, Exception.t()} | {:ok, Aliyun.Oss.Client.Response.t()}
GetBucketPolicyStatus
Examples
iex> Aliyun.Oss.Bucket.Policy.get_status(config, "some-bucket")
{:ok, %Aliyun.Oss.Client.Response{
data: %{
"PolicyStatus" => %{"IsPublic" => "false"}
},
headers: %{
"connection" => ["keep-alive"],
...
}
}}
@spec put(Aliyun.Oss.Config.t(), String.t(), map()) :: {:error, Exception.t()} | {:ok, Aliyun.Oss.Client.Response.t()}
PutBucketPolicy - configures policies for a specified bucket.
Examples
iex> policy = %{
"Statement" => [
%{
"Action" => ["oss:PutObject", "oss:GetObject"],
"Effect" => "Deny",
"Principal" => ["1234567890"],
"Resource" => ["acs:oss:*:1234567890:*/*"]
}
],
"Version" => "1"
}
iex> Aliyun.Oss.Bucket.Policy.put(config, "some-bucket", policy)
{:ok, %Aliyun.Oss.Client.Response{
data: "",
headers: %{
"connection" => ["keep-alive"],
...
}
}}